diff options
author | David Goulet <dgoulet@torproject.org> | 2016-12-09 10:20:14 -0500 |
---|---|---|
committer | David Goulet <dgoulet@torproject.org> | 2016-12-09 10:20:14 -0500 |
commit | d01a6c07ae3d9e6ce10b5723b7aa1ba301d810db (patch) | |
tree | 516b1ed2989733472b36fe474247ed54485b8fed /src/test/test_circuituse.c | |
parent | f2445fc608fcb71cbff913dddcc4c2a38417535f (diff) | |
download | tor-d01a6c07ae3d9e6ce10b5723b7aa1ba301d810db.tar.gz tor-d01a6c07ae3d9e6ce10b5723b7aa1ba301d810db.zip |
test: Fix memory leak in test_circuituse.c
Circuit object wasn't freed correctly. Also, the cpath build state object
needed to be zeroed else we were freeing garbage pointers.
Closes #20936
Signed-off-by: David Goulet <dgoulet@torproject.org>
Diffstat (limited to 'src/test/test_circuituse.c')
-rw-r--r-- | src/test/test_circuituse.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/test/test_circuituse.c b/src/test/test_circuituse.c index edbc9f6391..27a87660ff 100644 --- a/src/test/test_circuituse.c +++ b/src/test/test_circuituse.c @@ -3,6 +3,8 @@ * Copyright (c) 2007-2016, The Tor Project, Inc. */ /* See LICENSE for licensing information */ +#define CIRCUITLIST_PRIVATE + #include "or.h" #include "test.h" #include "test_helpers.h" @@ -93,7 +95,7 @@ test_circuit_is_available_for_use_ret_false_unusable_for_new_conns(void *arg) tt_int_op(0, ==, circuit_is_available_for_use(circ)); done: - tor_free(circ); + circuit_free(circ); } static void @@ -103,13 +105,13 @@ test_circuit_is_available_for_use_returns_false_for_onehop_tunnel(void *arg) circuit_t *circ = dummy_origin_circuit_new(30); origin_circuit_t *oc = TO_ORIGIN_CIRCUIT(circ); - oc->build_state = tor_malloc(sizeof(cpath_build_state_t)); + oc->build_state = tor_malloc_zero(sizeof(cpath_build_state_t)); oc->build_state->onehop_tunnel = 1; tt_int_op(0, ==, circuit_is_available_for_use(circ)); done: - tor_free(circ); + circuit_free(circ); } static void @@ -119,13 +121,13 @@ test_circuit_is_available_for_use_returns_true_for_clean_circuit(void *arg) circuit_t *circ = dummy_origin_circuit_new(30); origin_circuit_t *oc = TO_ORIGIN_CIRCUIT(circ); - oc->build_state = tor_malloc(sizeof(cpath_build_state_t)); + oc->build_state = tor_malloc_zero(sizeof(cpath_build_state_t)); oc->build_state->onehop_tunnel = 0; tt_int_op(1, ==, circuit_is_available_for_use(circ)); done: - tor_free(circ); + circuit_free(circ); } static int |