[tor-commits] [tor/master] Fix a number of unit-test memory leaks, found by valgrind.
nickm at torproject.org
nickm at torproject.org
Wed Oct 21 12:17:41 UTC 2015
commit d478704de889dfc41a72af1187dc52e465ea0cdc
Author: Nick Mathewson <nickm at torproject.org>
Date: Wed Oct 21 08:17:30 2015 -0400
Fix a number of unit-test memory leaks, found by valgrind.
---
src/test/test_address.c | 10 ++--
src/test/test_dir_handle_get.c | 100 ++++++++++++++++++++--------------------
src/test/test_rendcache.c | 18 ++++----
3 files changed, 65 insertions(+), 63 deletions(-)
diff --git a/src/test/test_address.c b/src/test/test_address.c
index 7ffdcfe..7368b05 100644
--- a/src/test/test_address.c
+++ b/src/test/test_address.c
@@ -955,7 +955,7 @@ test_address_tor_addr_to_in6(void *ignored)
tt_mem_op(res->s6_addr, OP_EQ, expected, 16);
done:
- (void)0;
+ tor_free(a);
}
static void
@@ -976,7 +976,7 @@ test_address_tor_addr_to_in(void *ignored)
tt_int_op(res->s_addr, OP_EQ, 44);
done:
- (void)0;
+ tor_free(a);
}
static void
@@ -997,7 +997,7 @@ test_address_tor_addr_to_ipv4n(void *ignored)
tt_int_op(res, OP_EQ, 43);
done:
- (void)0;
+ tor_free(a);
}
static void
@@ -1020,7 +1020,7 @@ test_address_tor_addr_to_mapped_ipv4h(void *ignored)
tt_int_op(res, OP_EQ, 42);
done:
- (void)0;
+ tor_free(a);
}
static void
@@ -1044,7 +1044,7 @@ test_address_tor_addr_eq_ipv4h(void *ignored)
tt_assert(res);
done:
- (void)0;
+ tor_free(a);
}
#define ADDRESS_TEST(name, flags) \
diff --git a/src/test/test_dir_handle_get.c b/src/test/test_dir_handle_get.c
index 5a84f17..b6056a9 100644
--- a/src/test/test_dir_handle_get.c
+++ b/src/test/test_dir_handle_get.c
@@ -5,9 +5,11 @@
#define RENDCOMMON_PRIVATE
#define GEOIP_PRIVATE
+#define CONNECTION_PRIVATE
#include "or.h"
#include "config.h"
+#include "connection.h"
#include "directory.h"
#include "test.h"
#include "connection.h"
@@ -78,7 +80,7 @@ test_dir_handle_get_bad_request(void *data)
done:
UNMOCK(connection_write_to_buf_impl_);
- tor_free(conn);
+ connection_free_(TO_CONN(conn));
tor_free(header);
}
@@ -107,7 +109,7 @@ test_dir_handle_get_v1_command_not_found(void *data)
done:
UNMOCK(connection_write_to_buf_impl_);
- tor_free(conn);
+ connection_free_(TO_CONN(conn));
tor_free(header);
}
@@ -154,7 +156,7 @@ test_dir_handle_get_v1_command(void *data)
done:
UNMOCK(connection_write_to_buf_impl_);
UNMOCK(get_dirportfrontpage);
- tor_free(conn);
+ connection_free_(TO_CONN(conn));
tor_free(header);
tor_free(body);
}
@@ -180,7 +182,7 @@ test_dir_handle_get_not_found(void *data)
done:
UNMOCK(connection_write_to_buf_impl_);
- tor_free(conn);
+ connection_free_(TO_CONN(conn));
tor_free(header);
}
@@ -215,7 +217,7 @@ test_dir_handle_get_robots_txt(void *data)
done:
UNMOCK(connection_write_to_buf_impl_);
- tor_free(conn);
+ connection_free_(TO_CONN(conn));
tor_free(header);
tor_free(body);
}
@@ -259,7 +261,7 @@ test_dir_handle_get_bytes_txt(void *data)
done:
UNMOCK(connection_write_to_buf_impl_);
- tor_free(conn);
+ connection_free_(TO_CONN(conn));
tor_free(header);
tor_free(body);
}
@@ -288,7 +290,7 @@ test_dir_handle_get_rendezvous2_not_found_if_not_encrypted(void *data)
done:
UNMOCK(connection_write_to_buf_impl_);
- tor_free(conn);
+ connection_free_(TO_CONN(conn));
tor_free(header);
}
@@ -316,7 +318,7 @@ test_dir_handle_get_rendezvous2_on_encrypted_conn_with_invalid_desc_id(
done:
UNMOCK(connection_write_to_buf_impl_);
- tor_free(conn);
+ connection_free_(TO_CONN(conn));
tor_free(header);
}
@@ -349,7 +351,7 @@ test_dir_handle_get_rendezvous2_on_encrypted_conn_not_well_formed(void *data)
done:
UNMOCK(connection_write_to_buf_impl_);
- tor_free(conn);
+ connection_free_(TO_CONN(conn));
tor_free(header);
}
@@ -378,7 +380,7 @@ test_dir_handle_get_rendezvous2_not_found(void *data)
done:
UNMOCK(connection_write_to_buf_impl_);
- tor_free(conn);
+ connection_free_(TO_CONN(conn));
tor_free(header);
rend_cache_free_all();
}
@@ -470,7 +472,7 @@ test_dir_handle_get_rendezvous2_on_encrypted_conn_success(void *data)
NS_UNMOCK(router_get_my_routerinfo);
NS_UNMOCK(hid_serv_responsible_for_desc_id);
- tor_free(conn);
+ connection_free_(TO_CONN(conn));
tor_free(header);
tor_free(body);
rend_cache_free_all();
@@ -501,7 +503,7 @@ test_dir_handle_get_micro_d_not_found(void *data)
done:
UNMOCK(connection_write_to_buf_impl_);
- tor_free(conn);
+ connection_free_(TO_CONN(conn));
tor_free(header);
}
@@ -592,7 +594,7 @@ test_dir_handle_get_micro_d(void *data)
if (mock_options)
tor_free(mock_options->DataDirectory);
- tor_free(conn);
+ connection_free_(TO_CONN(conn));
tor_free(header);
tor_free(body);
smartlist_free(list);
@@ -656,7 +658,7 @@ test_dir_handle_get_micro_d_server_busy(void *data)
if (mock_options)
tor_free(mock_options->DataDirectory);
- tor_free(conn);
+ connection_free_(TO_CONN(conn));
tor_free(header);
smartlist_free(list);
microdesc_free_all();
@@ -693,7 +695,7 @@ test_dir_handle_get_networkstatus_bridges_not_found_without_auth(void *data)
UNMOCK(get_options);
UNMOCK(connection_write_to_buf_impl_);
tor_free(mock_options);
- tor_free(conn);
+ connection_free_(TO_CONN(conn));
tor_free(header);
}
@@ -733,7 +735,7 @@ test_dir_handle_get_networkstatus_bridges(void *data)
UNMOCK(get_options);
UNMOCK(connection_write_to_buf_impl_);
tor_free(mock_options);
- tor_free(conn);
+ connection_free_(TO_CONN(conn));
tor_free(header);
}
@@ -770,7 +772,7 @@ test_dir_handle_get_networkstatus_bridges_not_found_wrong_auth(void *data)
UNMOCK(get_options);
UNMOCK(connection_write_to_buf_impl_);
tor_free(mock_options);
- tor_free(conn);
+ connection_free_(TO_CONN(conn));
tor_free(header);
}
@@ -798,7 +800,7 @@ test_dir_handle_get_server_descriptors_not_found(void* data)
done:
UNMOCK(connection_write_to_buf_impl_);
tor_free(mock_options);
- tor_free(conn);
+ connection_free_(TO_CONN(conn));
tor_free(header);
}
@@ -858,7 +860,7 @@ test_dir_handle_get_server_descriptors_all(void* data)
done:
NS_UNMOCK(router_get_my_routerinfo);
UNMOCK(connection_write_to_buf_impl_);
- tor_free(conn);
+ connection_free_(TO_CONN(conn));
tor_free(header);
tor_free(body);
@@ -962,7 +964,7 @@ test_dir_handle_get_server_descriptors_authority(void* data)
NS_UNMOCK(router_get_my_routerinfo);
UNMOCK(connection_write_to_buf_impl_);
tor_free(mock_routerinfo);
- tor_free(conn);
+ connection_free_(TO_CONN(conn));
tor_free(header);
tor_free(body);
crypto_pk_free(identity_pkey);
@@ -1033,7 +1035,7 @@ test_dir_handle_get_server_descriptors_fp(void* data)
NS_UNMOCK(router_get_my_routerinfo);
UNMOCK(connection_write_to_buf_impl_);
tor_free(mock_routerinfo);
- tor_free(conn);
+ connection_free_(TO_CONN(conn));
tor_free(header);
tor_free(body);
crypto_pk_free(identity_pkey);
@@ -1096,7 +1098,7 @@ test_dir_handle_get_server_descriptors_d(void* data)
done:
UNMOCK(connection_write_to_buf_impl_);
tor_free(mock_routerinfo);
- tor_free(conn);
+ connection_free_(TO_CONN(conn));
tor_free(header);
tor_free(body);
crypto_pk_free(identity_pkey);
@@ -1151,7 +1153,7 @@ test_dir_handle_get_server_descriptors_busy(void* data)
UNMOCK(get_options);
UNMOCK(connection_write_to_buf_impl_);
tor_free(mock_routerinfo);
- tor_free(conn);
+ connection_free_(TO_CONN(conn));
tor_free(header);
crypto_pk_free(identity_pkey);
@@ -1182,7 +1184,7 @@ test_dir_handle_get_server_keys_bad_req(void* data)
done:
UNMOCK(connection_write_to_buf_impl_);
- tor_free(conn);
+ connection_free_(TO_CONN(conn));
tor_free(header);
}
@@ -1208,7 +1210,7 @@ test_dir_handle_get_server_keys_all_not_found(void* data)
done:
UNMOCK(connection_write_to_buf_impl_);
- tor_free(conn);
+ connection_free_(TO_CONN(conn));
tor_free(header);
}
@@ -1268,7 +1270,7 @@ test_dir_handle_get_server_keys_all(void* data)
done:
UNMOCK(connection_write_to_buf_impl_);
- tor_free(conn);
+ connection_free_(TO_CONN(conn));
tor_free(header);
tor_free(body);
@@ -1298,7 +1300,7 @@ test_dir_handle_get_server_keys_authority_not_found(void* data)
done:
UNMOCK(connection_write_to_buf_impl_);
- tor_free(conn);
+ connection_free_(TO_CONN(conn));
tor_free(header);
}
@@ -1346,7 +1348,7 @@ test_dir_handle_get_server_keys_authority(void* data)
done:
UNMOCK(get_my_v3_authority_cert);
UNMOCK(connection_write_to_buf_impl_);
- tor_free(conn);
+ connection_free_(TO_CONN(conn));
tor_free(header);
tor_free(body);
tor_free(mock_cert);
@@ -1374,7 +1376,7 @@ test_dir_handle_get_server_keys_fp_not_found(void* data)
done:
UNMOCK(connection_write_to_buf_impl_);
- tor_free(conn);
+ connection_free_(TO_CONN(conn));
tor_free(header);
}
@@ -1426,7 +1428,7 @@ test_dir_handle_get_server_keys_fp(void* data)
done:
UNMOCK(connection_write_to_buf_impl_);
- tor_free(conn);
+ connection_free_(TO_CONN(conn));
tor_free(header);
tor_free(body);
clear_dir_servers();
@@ -1455,7 +1457,7 @@ test_dir_handle_get_server_keys_sk_not_found(void* data)
done:
UNMOCK(connection_write_to_buf_impl_);
- tor_free(conn);
+ connection_free_(TO_CONN(conn));
tor_free(header);
}
@@ -1499,7 +1501,7 @@ test_dir_handle_get_server_keys_sk(void* data)
done:
UNMOCK(get_my_v3_authority_cert);
UNMOCK(connection_write_to_buf_impl_);
- tor_free(conn);
+ connection_free_(TO_CONN(conn));
tor_free(header);
tor_free(body);
}
@@ -1526,7 +1528,7 @@ test_dir_handle_get_server_keys_fpsk_not_found(void* data)
done:
UNMOCK(connection_write_to_buf_impl_);
- tor_free(conn);
+ connection_free_(TO_CONN(conn));
tor_free(header);
}
@@ -1581,7 +1583,7 @@ test_dir_handle_get_server_keys_fpsk(void* data)
done:
UNMOCK(connection_write_to_buf_impl_);
- tor_free(conn);
+ connection_free_(TO_CONN(conn));
tor_free(header);
tor_free(body);
@@ -1634,7 +1636,7 @@ test_dir_handle_get_server_keys_busy(void* data)
done:
UNMOCK(get_options);
UNMOCK(connection_write_to_buf_impl_);
- tor_free(conn);
+ connection_free_(TO_CONN(conn));
tor_free(header);
tor_free(mock_options);
@@ -1693,7 +1695,7 @@ test_dir_handle_get_status_vote_current_consensus_ns_not_enough_sigs(void* d)
UNMOCK(connection_write_to_buf_impl_);
UNMOCK(get_options);
- tor_free(conn);
+ connection_free_(TO_CONN(conn));
tor_free(header);
smartlist_free(mock_ns_val->voters);
tor_free(mock_ns_val);
@@ -1732,7 +1734,7 @@ test_dir_handle_get_status_vote_current_consensus_ns_not_found(void* data)
done:
UNMOCK(connection_write_to_buf_impl_);
UNMOCK(get_options);
- tor_free(conn);
+ connection_free_(TO_CONN(conn));
tor_free(header);
tor_free(mock_options);
}
@@ -1779,7 +1781,7 @@ status_vote_current_consensus_ns_test(char **header, char **body,
done:
UNMOCK(connection_write_to_buf_impl_);
- tor_free(conn);
+ connection_free_(TO_CONN(conn));
}
static void
@@ -1900,7 +1902,7 @@ test_dir_handle_get_status_vote_current_not_found(void* data)
done:
UNMOCK(connection_write_to_buf_impl_);
- tor_free(conn);
+ connection_free_(TO_CONN(conn));
tor_free(header);
}
@@ -1923,7 +1925,7 @@ status_vote_current_d_test(char **header, char **body, size_t *body_l)
done:
UNMOCK(connection_write_to_buf_impl_);
- tor_free(conn);
+ connection_free_(TO_CONN(conn));
}
static void
@@ -1943,7 +1945,7 @@ status_vote_next_d_test(char **header, char **body, size_t *body_l)
done:
UNMOCK(connection_write_to_buf_impl_);
- tor_free(conn);
+ connection_free_(TO_CONN(conn));
}
static void
@@ -2067,7 +2069,7 @@ test_dir_handle_get_status_vote_next_not_found(void* data)
done:
UNMOCK(connection_write_to_buf_impl_);
- tor_free(conn);
+ connection_free_(TO_CONN(conn));
tor_free(header);
}
@@ -2086,7 +2088,7 @@ status_vote_next_consensus_test(char **header, char **body, size_t *body_used)
body, body_used, 18, 0);
done:
UNMOCK(connection_write_to_buf_impl_);
- tor_free(conn);
+ connection_free_(TO_CONN(conn));
}
static void
@@ -2126,7 +2128,7 @@ test_dir_handle_get_status_vote_current_authority_not_found(void* data)
done:
UNMOCK(connection_write_to_buf_impl_);
- tor_free(conn);
+ connection_free_(TO_CONN(conn));
tor_free(header);
}
@@ -2150,7 +2152,7 @@ test_dir_handle_get_status_vote_next_authority_not_found(void* data)
done:
UNMOCK(connection_write_to_buf_impl_);
- tor_free(conn);
+ connection_free_(TO_CONN(conn));
tor_free(header);
}
@@ -2249,7 +2251,7 @@ test_dir_handle_get_status_vote_next_consensus_signatures_not_found(void* data)
tt_str_op(NOT_FOUND, OP_EQ, header);
done:
- tor_free(conn);
+ connection_free_(TO_CONN(conn));
tor_free(header);
tor_free(body);
}
@@ -2311,7 +2313,7 @@ test_dir_handle_get_status_vote_next_consensus_signatures_busy(void* data)
done:
UNMOCK(get_options);
NS_UNMOCK(dirvote_get_pending_detached_signatures);
- tor_free(conn);
+ connection_free_(TO_CONN(conn));
tor_free(header);
tor_free(body);
tor_free(mock_options);
@@ -2382,7 +2384,7 @@ test_dir_handle_get_status_vote_next_authority(void* data)
done:
UNMOCK(connection_write_to_buf_impl_);
UNMOCK(get_my_v3_authority_cert);
- tor_free(conn);
+ connection_free_(TO_CONN(conn));
tor_free(header);
tor_free(mock_cert);
@@ -2461,7 +2463,7 @@ test_dir_handle_get_status_vote_current_authority(void* data)
done:
UNMOCK(connection_write_to_buf_impl_);
UNMOCK(get_my_v3_authority_cert);
- tor_free(conn);
+ connection_free_(TO_CONN(conn));
tor_free(header);
tor_free(mock_cert);
diff --git a/src/test/test_rendcache.c b/src/test/test_rendcache.c
index e484858..087d198 100644
--- a/src/test/test_rendcache.c
+++ b/src/test/test_rendcache.c
@@ -83,7 +83,7 @@ test_rend_cache_lookup_entry(void *data)
tt_str_op(entry->desc, OP_EQ, desc_holder->desc_str);
done:
- tor_free(desc_holder);
+ rend_encoded_v2_service_descriptor_free(desc_holder);
tor_free(entry);
tor_free(service_id);
}
@@ -164,7 +164,7 @@ test_rend_cache_store_v2_desc_as_client(void *data)
// Test too old descriptor
rend_cache_init();
- tor_free(desc_holder);
+ rend_encoded_v2_service_descriptor_free(desc_holder);
tor_free(service_id);
generate_desc(TIME_IN_THE_PAST, &desc_holder, &service_id, 3);
@@ -179,7 +179,7 @@ test_rend_cache_store_v2_desc_as_client(void *data)
// Test too new descriptor (in the future)
rend_cache_init();
- tor_free(desc_holder);
+ rend_encoded_v2_service_descriptor_free(desc_holder);
tor_free(service_id);
generate_desc(TIME_IN_THE_FUTURE, &desc_holder, &service_id, 3);
@@ -194,7 +194,7 @@ test_rend_cache_store_v2_desc_as_client(void *data)
// Test when a descriptor is already in the cache
rend_cache_init();
- tor_free(desc_holder);
+ rend_encoded_v2_service_descriptor_free(desc_holder);
tor_free(service_id);
tor_free(entry);
@@ -218,7 +218,7 @@ test_rend_cache_store_v2_desc_as_client(void *data)
// Test unsuccessful decrypting of introduction points
rend_cache_init();
- tor_free(desc_holder);
+ rend_encoded_v2_service_descriptor_free(desc_holder);
tor_free(service_id);
generate_desc(RECENT_TIME, &desc_holder, &service_id, 3);
@@ -236,7 +236,7 @@ test_rend_cache_store_v2_desc_as_client(void *data)
// Test successful run when we have REND_BASIC_AUTH but not cookie
rend_cache_init();
- tor_free(desc_holder);
+ rend_encoded_v2_service_descriptor_free(desc_holder);
tor_free(service_id);
generate_desc(RECENT_TIME, &desc_holder, &service_id, 3);
@@ -251,7 +251,7 @@ test_rend_cache_store_v2_desc_as_client(void *data)
// Test when we have no introduction points
rend_cache_init();
- tor_free(desc_holder);
+ rend_encoded_v2_service_descriptor_free(desc_holder);
tor_free(service_id);
generate_desc(RECENT_TIME, &desc_holder, &service_id, 0);
@@ -265,7 +265,7 @@ test_rend_cache_store_v2_desc_as_client(void *data)
// Test when we have too many intro points
rend_cache_init();
- tor_free(desc_holder);
+ rend_encoded_v2_service_descriptor_free(desc_holder);
tor_free(service_id);
generate_desc(RECENT_TIME, &desc_holder, &service_id, MAX_INTRO_POINTS+1);
@@ -487,7 +487,7 @@ test_rend_cache_store_v2_desc_as_dir(void *data)
done:
NS_UNMOCK(router_get_my_routerinfo);
NS_UNMOCK(hid_serv_responsible_for_desc_id);
- tor_free(desc_holder);
+ rend_encoded_v2_service_descriptor_free(desc_holder);
tor_free(service_id);
}
More information about the tor-commits
mailing list