PR: 2385 Submitted by: Stefan Birrer <stefan.birrer@adnovum.ch> Reviewed by: steve Zero key->pkey.ptr after it is freed so the structure can be reused.
diff --git a/crypto/evp/p_lib.c b/crypto/evp/p_lib.c index 1916c61..e26ccd0 100644 --- a/crypto/evp/p_lib.c +++ b/crypto/evp/p_lib.c
@@ -411,7 +411,10 @@ static void EVP_PKEY_free_it(EVP_PKEY *x) { if (x->ameth && x->ameth->pkey_free) + { x->ameth->pkey_free(x); + x->pkey.ptr = NULL; + } #ifndef OPENSSL_NO_ENGINE if (x->engine) {