aboutsummaryrefslogtreecommitdiff
path: root/src/test/test_circuituse.c
diff options
context:
space:
mode:
authorDavid Goulet <dgoulet@torproject.org>2016-12-09 10:20:14 -0500
committerDavid Goulet <dgoulet@torproject.org>2016-12-09 10:20:14 -0500
commitd01a6c07ae3d9e6ce10b5723b7aa1ba301d810db (patch)
tree516b1ed2989733472b36fe474247ed54485b8fed /src/test/test_circuituse.c
parentf2445fc608fcb71cbff913dddcc4c2a38417535f (diff)
downloadtor-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.c12
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