From: Daniel Stenberg Date: Thu, 29 Oct 2015 13:59:11 +0000 (+0100) Subject: Revert "openssl: engine: remove double-free" X-Git-Tag: curl-7_46_0~117 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4c62066cec18b8fa98bc1aa02ab80e4b489d5bc1;p=thirdparty%2Fcurl.git Revert "openssl: engine: remove double-free" This reverts commit 370ee919b37cc9a46c36428b2bb1527eae5db2bd. Issue #509 has all the details but it was confirmed that the crash was not due to this, so the previous commit was wrong. --- diff --git a/lib/vtls/openssl.c b/lib/vtls/openssl.c index f93a89507a..3bc079e7eb 100644 --- a/lib/vtls/openssl.c +++ b/lib/vtls/openssl.c @@ -558,7 +558,7 @@ int cert_stuff(struct connectdata *conn, break; case SSL_FILETYPE_ENGINE: #ifdef HAVE_OPENSSL_ENGINE_H - { + { /* XXXX still needs some work */ EVP_PKEY *priv_key = NULL; if(data->state.engine) { #ifdef HAVE_ENGINE_LOAD_FOUR_ARGS @@ -592,7 +592,7 @@ int cert_stuff(struct connectdata *conn, EVP_PKEY_free(priv_key); return 0; } - /* ownership of priv_key was handed over, no need to free it here */ + EVP_PKEY_free(priv_key); /* we don't need the handle any more... */ } else { failf(data, "crypto engine not set, can't load private key");