summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2015-10-29 14:59:11 +0100
committerDaniel Stenberg <daniel@haxx.se>2015-10-29 14:59:11 +0100
commit4c62066cec18b8fa98bc1aa02ab80e4b489d5bc1 (patch)
tree13b1047e5e664fd7215498c1cedf5b886c691416
parent9b87078d556de090a4b3a8db1fd4f962bdd040c3 (diff)
downloadcurl-4c62066cec18b8fa98bc1aa02ab80e4b489d5bc1.tar.gz
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.
-rw-r--r--lib/vtls/openssl.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/vtls/openssl.c b/lib/vtls/openssl.c
index f93a89507..3bc079e7e 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");