diff --git a/crypto/dh/dh_lib.c b/crypto/dh/dh_lib.c index ef622629f..48b9db2ac 100644 --- a/crypto/dh/dh_lib.c +++ b/crypto/dh/dh_lib.c @@ -143,6 +143,10 @@ void DH_free(DH *r) } #endif + CRYPTO_free_ex_data(dh_meth, (char *)r, &r->ex_data); + + if(r->meth->finish) r->meth->finish(r); + if (r->p != NULL) BN_clear_free(r->p); if (r->g != NULL) BN_clear_free(r->g); if (r->pub_key != NULL) BN_clear_free(r->pub_key);