diff options
author | Pauli <paul.dale@oracle.com> | 2020-08-26 14:36:50 +1000 |
---|---|---|
committer | Pauli <paul.dale@oracle.com> | 2020-08-27 13:43:46 +1000 |
commit | 625679b6d79296e020bb0cad31d6ac24ad547a39 (patch) | |
tree | 96c55f829517aa21c51695802628910ea7a26828 /crypto/evp | |
parent | a149f7502458dc022501c2347629cc847f2e1298 (diff) |
EVP: NULL pctx pointer after free.
Not doing so can result in a double free.
Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/12718)
Diffstat (limited to 'crypto/evp')
-rw-r--r-- | crypto/evp/digest.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/crypto/evp/digest.c b/crypto/evp/digest.c index f9ba59ca63..c9b4e3fd6e 100644 --- a/crypto/evp/digest.c +++ b/crypto/evp/digest.c @@ -34,8 +34,10 @@ int EVP_MD_CTX_reset(EVP_MD_CTX *ctx) * pctx should be freed by the user of EVP_MD_CTX * if EVP_MD_CTX_FLAG_KEEP_PKEY_CTX is set */ - if (!EVP_MD_CTX_test_flags(ctx, EVP_MD_CTX_FLAG_KEEP_PKEY_CTX)) + if (!EVP_MD_CTX_test_flags(ctx, EVP_MD_CTX_FLAG_KEEP_PKEY_CTX)) { EVP_PKEY_CTX_free(ctx->pctx); + ctx->pctx = NULL; + } #endif EVP_MD_free(ctx->fetched_digest); |