diff options
-rw-r--r-- | crypto/evp/digest.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/crypto/evp/digest.c b/crypto/evp/digest.c index db755b1dbb..48c7b00b4c 100644 --- a/crypto/evp/digest.c +++ b/crypto/evp/digest.c @@ -187,9 +187,12 @@ int EVP_DigestInit_ex(EVP_MD_CTX *ctx, const EVP_MD *type, ENGINE *impl) ctx->engine = impl; } else ctx->engine = NULL; - } else if (!ctx->digest) { - EVPerr(EVP_F_EVP_DIGESTINIT_EX, EVP_R_NO_DIGEST_SET); - return 0; + } else { + if (!ctx->digest) { + EVPerr(EVP_F_EVP_DIGESTINIT_EX, EVP_R_NO_DIGEST_SET); + return 0; + } + type = ctx->digest; } #endif if (ctx->digest != type) { |