summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/test/test_relay.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/test/test_relay.c b/src/test/test_relay.c
index a7fcad5401..29016e444b 100644
--- a/src/test/test_relay.c
+++ b/src/test/test_relay.c
@@ -74,6 +74,10 @@ test_relay_append_cell_to_circuit_queue(void *arg)
/* Make a fake orcirc */
orcirc = new_fake_orcirc(nchan, pchan);
tt_assert(orcirc);
+ circuitmux_attach_circuit(nchan->cmux, TO_CIRCUIT(orcirc),
+ CELL_DIRECTION_OUT);
+ circuitmux_attach_circuit(pchan->cmux, TO_CIRCUIT(orcirc),
+ CELL_DIRECTION_IN);
/* Make a cell */
cell = tor_malloc_zero(sizeof(cell_t));
@@ -111,6 +115,10 @@ test_relay_append_cell_to_circuit_queue(void *arg)
tor_free(cell);
cell_queue_clear(&orcirc->base_.n_chan_cells);
cell_queue_clear(&orcirc->p_chan_cells);
+ if (orcirc) {
+ circuitmux_detach_circuit(nchan->cmux, TO_CIRCUIT(orcirc));
+ circuitmux_detach_circuit(pchan->cmux, TO_CIRCUIT(orcirc));
+ }
tor_free(orcirc);
free_fake_channel(nchan);
free_fake_channel(pchan);