]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Resolve openssl-only memory leaks
authorNick Mathewson <nickm@torproject.org>
Tue, 4 Sep 2018 23:41:59 +0000 (19:41 -0400)
committerNick Mathewson <nickm@torproject.org>
Tue, 4 Sep 2018 23:45:28 +0000 (19:45 -0400)
src/lib/tls/tortls_openssl.c
src/lib/tls/x509.c
src/test/test_tortls_openssl.c

index 370e7e4367b35cba9f2e66e89c80d6293c4aae29..9371c9393fe3acb3325ff3ddbf4ee80868e90d25 100644 (file)
@@ -609,7 +609,7 @@ tor_tls_context_new(crypto_pk_t *identity, unsigned int key_lifetime,
     if (result->my_id_cert) {
       X509_STORE *s = SSL_CTX_get_cert_store(result->ctx);
       tor_assert(s);
-      X509_STORE_add_cert(s, X509_dup(result->my_id_cert->cert));
+      X509_STORE_add_cert(s, result->my_id_cert->cert);
     }
   }
   SSL_CTX_set_session_cache_mode(result->ctx, SSL_SESS_CACHE_OFF);
index 442cdf2c7497ff888a048529184f5a6fc69c797c..0d62ee41af72c7fef27fc948273d653bd5add281 100644 (file)
@@ -128,9 +128,8 @@ tor_x509_cert_new,(tor_x509_cert_impl_t *x509_cert))
 
   return cert;
  err:
-  tor_free(cert);
   log_err(LD_CRYPTO, "Couldn't wrap encoded X509 certificate.");
-  tor_x509_cert_impl_free(x509_cert);
+  tor_x509_cert_free(cert);
   return NULL;
 }
 
index 3abf412655329914fac2e5e1554c5866d7f46468..2e71de43aee558cdbdf84cce04148c0ed861edef 100644 (file)
@@ -600,7 +600,7 @@ test_tortls_get_my_client_auth_key(void *ignored)
   tt_assert(ret == expected);
 
  done:
-  tor_free(expected);
+  crypto_pk_free(expected);
   tor_free(ctx);
 }