diff --git a/crypto/evp/m_sigver.c b/crypto/evp/m_sigver.c index 85c1fa281a..829b861ed2 100644 --- a/crypto/evp/m_sigver.c +++ b/crypto/evp/m_sigver.c @@ -317,11 +317,13 @@ int EVP_DigestSignUpdate(EVP_MD_CTX *ctx, const void *data, size_t dsize) data, dsize); legacy: - /* do_sigver_init() checked that |digest_custom| is non-NULL */ - if (pctx->flag_call_digest_custom - && !ctx->pctx->pmeth->digest_custom(ctx->pctx, ctx)) - return 0; - pctx->flag_call_digest_custom = 0; + if (pctx != NULL) { + /* do_sigver_init() checked that |digest_custom| is non-NULL */ + if (pctx->flag_call_digest_custom + && !ctx->pctx->pmeth->digest_custom(ctx->pctx, ctx)) + return 0; + pctx->flag_call_digest_custom = 0; + } return EVP_DigestUpdate(ctx, data, dsize); }