[tor-commits] [tor/release-0.4.1] Fix memory leak in crypto_pk_asn1_decode_private.

nickm at torproject.org nickm at torproject.org
Wed Mar 18 13:34:39 UTC 2020


commit 29c9675bdeb5a63564e9a76dcd7162bef884b240
Author: Nick Mathewson <nickm at torproject.org>
Date:   Sat Mar 14 14:17:33 2020 -0400

    Fix memory leak in crypto_pk_asn1_decode_private.
    
    (Deep, deep thanks to Taylor for reminding me to test this!)
---
 src/lib/crypt_ops/crypto_rsa_openssl.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/lib/crypt_ops/crypto_rsa_openssl.c b/src/lib/crypt_ops/crypto_rsa_openssl.c
index 39b7aaf0c..0db25f347 100644
--- a/src/lib/crypt_ops/crypto_rsa_openssl.c
+++ b/src/lib/crypt_ops/crypto_rsa_openssl.c
@@ -590,6 +590,7 @@ crypto_pk_asn1_decode_private(const char *str, size_t len, int max_bits)
   if (max_bits >= 0 && rsa->n && BN_num_bits(rsa->n) > max_bits) {
 #endif
     log_info(LD_CRYPTO, "Private key longer than expected.");
+    RSA_free(rsa);
     return NULL;
   }
   crypto_pk_t *result = crypto_new_pk_from_openssl_rsa_(rsa);





More information about the tor-commits mailing list