diff options
author | Nick Mathewson <nickm@torproject.org> | 2016-08-31 13:18:13 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2016-08-31 13:18:13 -0400 |
commit | 69dce0903187abc0a48606884c88588d276086d7 (patch) | |
tree | 5765797fe077f65d00fcef63a389eae8b0a78a41 /src | |
parent | 871b711f1016d0394ca1aae84cdfa267d213eb45 (diff) | |
download | tor-69dce0903187abc0a48606884c88588d276086d7.tar.gz tor-69dce0903187abc0a48606884c88588d276086d7.zip |
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.
Diffstat (limited to 'src')
-rw-r--r-- | src/common/tortls.c | 4 | ||||
-rw-r--r-- | 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 a62efb5575..23889be259 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 3a048fb1f0..9115823f31 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); |