aboutsummaryrefslogtreecommitdiff
path: root/src/or/circuitlist.c
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2016-09-22 15:20:31 -0400
committerNick Mathewson <nickm@torproject.org>2016-09-22 15:20:31 -0400
commit077f6a4888e88a4895e7b2234ff2fd81412307d0 (patch)
tree19afb7b837c4e37b331b042753cb62bb3917555f /src/or/circuitlist.c
parent0baa276ea9673ba1c7efce009d30a4afb4f63a6a (diff)
parentd78711c0ae83c505a966791a18a6b8d5b7e4a8d1 (diff)
downloadtor-077f6a4888e88a4895e7b2234ff2fd81412307d0.tar.gz
tor-077f6a4888e88a4895e7b2234ff2fd81412307d0.zip
Merge branch 'maint-0.2.8'
Diffstat (limited to 'src/or/circuitlist.c')
-rw-r--r--src/or/circuitlist.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/or/circuitlist.c b/src/or/circuitlist.c
index 3c92baa274..2b3c4169cb 100644
--- a/src/or/circuitlist.c
+++ b/src/or/circuitlist.c
@@ -1920,8 +1920,14 @@ marked_circuit_free_cells(circuit_t *circ)
return;
}
cell_queue_clear(&circ->n_chan_cells);
- if (! CIRCUIT_IS_ORIGIN(circ))
- cell_queue_clear(& TO_OR_CIRCUIT(circ)->p_chan_cells);
+ if (circ->n_mux)
+ circuitmux_clear_num_cells(circ->n_mux, circ);
+ if (! CIRCUIT_IS_ORIGIN(circ)) {
+ or_circuit_t *orcirc = TO_OR_CIRCUIT(circ);
+ cell_queue_clear(&orcirc->p_chan_cells);
+ if (orcirc->p_mux)
+ circuitmux_clear_num_cells(orcirc->p_mux, circ);
+ }
}
static size_t