]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
Revert "openssl: engine: remove double-free"
authorDaniel Stenberg <daniel@haxx.se>
Thu, 29 Oct 2015 13:59:11 +0000 (14:59 +0100)
committerDaniel Stenberg <daniel@haxx.se>
Thu, 29 Oct 2015 13:59:11 +0000 (14:59 +0100)
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.

lib/vtls/openssl.c

index f93a89507a5cc093f7cd99e5ae6b8d1ee494fdfb..3bc079e7ebdd5be3fa7ea491f78364dc7337e70c 100644 (file)
@@ -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");