[tor-commits] [tor/master] Fix a coverity NULL-pointer deref warning in the tortls tests.

nickm at torproject.org nickm at torproject.org
Fri Dec 18 15:36:04 UTC 2015


commit 6b5b1a02d46f761b691527c8e3c9a2ad08b0c3a5
Author: Nick Mathewson <nickm at torproject.org>
Date:   Fri Dec 18 10:25:15 2015 -0500

    Fix a coverity NULL-pointer deref warning in the tortls tests.
    
    Also, make our cert validation code more NULL-resistant.
    
    This is CID 1327891.
---
 src/common/tortls.c    |    2 +-
 src/test/test_tortls.c |    5 +++++
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/common/tortls.c b/src/common/tortls.c
index a1facec..5e0c970 100644
--- a/src/common/tortls.c
+++ b/src/common/tortls.c
@@ -884,7 +884,7 @@ tor_tls_cert_is_valid(int severity,
   EVP_PKEY *cert_key;
   int r, key_ok = 0;
 
-  if (!signing_cert)
+  if (!signing_cert || !cert)
     goto bad;
 
   EVP_PKEY *signing_key = X509_get_pubkey(signing_cert->cert);
diff --git a/src/test/test_tortls.c b/src/test/test_tortls.c
index 709c8db..add020e 100644
--- a/src/test/test_tortls.c
+++ b/src/test/test_tortls.c
@@ -2680,7 +2680,12 @@ test_tortls_cert_is_valid(void *ignored)
   scert = tor_malloc_zero(sizeof(tor_x509_cert_t));
   ret = tor_tls_cert_is_valid(LOG_WARN, cert, scert, 0);
   tt_int_op(ret, OP_EQ, 0);
+
+  cert = tor_malloc_zero(sizeof(tor_x509_cert_t));
+  ret = tor_tls_cert_is_valid(LOG_WARN, cert, scert, 0);
+  tt_int_op(ret, OP_EQ, 0);
   tor_free(scert);
+  tor_free(cert);
 
   cert = tor_x509_cert_new(read_cert_from(validCertString));
   scert = tor_x509_cert_new(read_cert_from(caCertString));





More information about the tor-commits mailing list