Fix some memory leaks in the unit tests

This commit is contained in:
Nick Mathewson 2015-12-15 14:00:08 -05:00
parent efc8b2dbbf
commit a56fb58d6e
4 changed files with 20 additions and 8 deletions

View File

@ -501,21 +501,26 @@ test_conn_get_rend(void *arg)
;
}
#define sl_is_conn_assert(sl, conn) \
do { \
tt_assert(smartlist_len((sl)) == 1); \
tt_assert(smartlist_get((sl), 0) == (conn)); \
#define sl_is_conn_assert(sl_input, conn) \
do { \
the_sl = (sl_input); \
tt_assert(smartlist_len((the_sl)) == 1); \
tt_assert(smartlist_get((the_sl), 0) == (conn)); \
smartlist_free(the_sl); the_sl = NULL; \
} while (0)
#define sl_no_conn_assert(sl) \
do { \
tt_assert(smartlist_len((sl)) == 0); \
#define sl_no_conn_assert(sl_input) \
do { \
the_sl = (sl_input); \
tt_assert(smartlist_len((the_sl)) == 0); \
smartlist_free(the_sl); the_sl = NULL; \
} while (0)
static void
test_conn_get_rsrc(void *arg)
{
dir_connection_t *conn = DOWNCAST(dir_connection_t, arg);
smartlist_t *the_sl = NULL;
tt_assert(conn);
assert_connection_ok(&conn->base_, time(NULL));
@ -630,7 +635,7 @@ test_conn_get_rsrc(void *arg)
== 0);
done:
;
smartlist_free(the_sl);
}
static void

View File

@ -579,6 +579,7 @@ NS(test_main)(void *arg)
tor_free(TO_CONN(exitconn)->address);
tor_free(cache_entry->pending_connections);
tor_free(cache_entry);
tor_free(exitconn);
return;
}
@ -739,6 +740,7 @@ NS(test_main)(void *arg)
tor_free(TO_CONN(exitconn)->address);
tor_free(cache_entry->pending_connections);
tor_free(cache_entry);
tor_free(exitconn);
return;
}

View File

@ -145,6 +145,7 @@ test_tortls_tor_tls_new(void *data)
tt_want(tls);
tor_tls_free(tls); tls = NULL;
SSL_CTX_free(client_tls_context->ctx);
client_tls_context->ctx = NULL;
tls = tor_tls_new(-1, 0);
tt_assert(!tls);
@ -1140,6 +1141,7 @@ test_tortls_check_lifetime(void *ignored)
tor_free(tls->ssl->session);
tor_free(tls->ssl);
tor_free(tls);
X509_free(validCert);
}
#endif
@ -1465,6 +1467,7 @@ test_tortls_try_to_extract_certs_from_tls(void *ignored)
tt_assert(id_cert);
done:
sk_X509_free(sess->cert_chain);
tor_free(sess);
tor_free(tls->ssl->session);
tor_free(tls->ssl);
@ -2166,6 +2169,7 @@ test_tortls_write(void *ignored)
done:
teardown_capture_of_logs(previous_log);
BIO_free(tls->ssl->rbio);
tor_free(tls->ssl);
tor_free(tls);
tor_free(method);

View File

@ -297,6 +297,7 @@ main(int c, const char **v)
tor_free_all(0);
dmalloc_log_unfreed();
#endif
crypto_global_cleanup();
if (have_failed)
return 1;