commit 13ff8e31bacc249c3d899387cbdc7cecca0ad8a3 Author: Nick Mathewson nickm@torproject.org Date: Wed Oct 21 14:19:43 2015 -0400
More memory leaks closed in test_tortls --- src/test/test_tortls.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/src/test/test_tortls.c b/src/test/test_tortls.c index cbd91b4..c1d1add 100644 --- a/src/test/test_tortls.c +++ b/src/test/test_tortls.c @@ -229,6 +229,7 @@ test_tortls_get_state_description(void *ignored) tor_tls_get_state_description(NULL, buf, 20); tt_str_op(buf, OP_EQ, "(No SSL object)");
+ SSL_free(tls->ssl); tls->ssl = NULL; tor_tls_get_state_description(tls, buf, 20); tt_str_op(buf, OP_EQ, "(No SSL object)"); @@ -2485,6 +2486,7 @@ test_tortls_finish_handshake(void *ignored)
X509 *c1 = read_cert_from(validCertString); X509 *c2 = read_cert_from(caCertString); + SESS_CERT_local *sess = NULL;
ctx = SSL_CTX_new(method);
@@ -2514,7 +2516,7 @@ test_tortls_finish_handshake(void *ignored)
tls->isServer = 0;
- SESS_CERT_local *sess = tor_malloc_zero(sizeof(SESS_CERT_local)); + sess = tor_malloc_zero(sizeof(SESS_CERT_local)); tls->ssl->session->sess_cert = (void *)sess; sess->cert_chain = sk_X509_new_null(); sk_X509_push(sess->cert_chain, c1); @@ -2541,10 +2543,16 @@ test_tortls_finish_handshake(void *ignored) tt_int_op(ret, OP_EQ, -9);
done: - if (tls) - SSL_free(tls->ssl); + if (sess) + sk_X509_free(sess->cert_chain); + if (tls->ssl && tls->ssl->session) { + tor_free(tls->ssl->session->sess_cert); + } + SSL_free(tls->ssl); tor_free(tls); SSL_CTX_free(ctx); + tor_free(method); + X509_free(c1); } #endif
tor-commits@lists.torproject.org