[tor-commits] [tor/master] Do not call tor_tls_server_info_callback(NULL) from tests.

nickm at torproject.org nickm at torproject.org
Wed Aug 31 18:10:49 UTC 2016


commit 69dce0903187abc0a48606884c88588d276086d7
Author: Nick Mathewson <nickm at torproject.org>
Date:   Wed Aug 31 13:18:13 2016 -0400

    Do not call tor_tls_server_info_callback(NULL) from tests.
    
    This isn't valid behavior, and it causes a crash when you run
    the unit tests at --debug.
    
    I've added an IF_BUG_ONCE() check for this case.
---
 src/common/tortls.c    | 4 ++++
 src/test/test_tortls.c | 2 --
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/common/tortls.c b/src/common/tortls.c
index a62efb5..23889be 100644
--- a/src/common/tortls.c
+++ b/src/common/tortls.c
@@ -1489,6 +1489,10 @@ tor_tls_server_info_callback(const SSL *ssl, int type, int val)
   tor_tls_t *tls;
   (void) val;
 
+  IF_BUG_ONCE(ssl == NULL) {
+    return; // LCOV_EXCL_LINE
+  }
+
   tor_tls_debug_state_callback(ssl, type, val);
 
   if (type != SSL_CB_ACCEPT_LOOP)
diff --git a/src/test/test_tortls.c b/src/test/test_tortls.c
index 3a048fb..9115823 100644
--- a/src/test/test_tortls.c
+++ b/src/test/test_tortls.c
@@ -1831,8 +1831,6 @@ test_tortls_server_info_callback(void *ignored)
   tls->magic = TOR_TLS_MAGIC;
   tls->ssl = ssl;
 
-  tor_tls_server_info_callback(NULL, 0, 0);
-
   SSL_set_state(ssl, SSL3_ST_SW_SRVR_HELLO_A);
   mock_clean_saved_logs();
   tor_tls_server_info_callback(ssl, SSL_CB_ACCEPT_LOOP, 0);





More information about the tor-commits mailing list