summaryrefslogtreecommitdiff
path: root/src/or/circuitmux.c
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2014-09-02 11:58:08 -0400
committerNick Mathewson <nickm@torproject.org>2014-09-02 11:58:08 -0400
commite3c143f5214b4a2d37dbb47940eaf2cc2e212f86 (patch)
tree9dc89abc6d5816ae8ced5764124b50238eadce2b /src/or/circuitmux.c
parent67c0ad54263be7fb742a8d499f97f5908f9ec970 (diff)
parentefcab439564dcadc5bc14609a9205d73d236e966 (diff)
downloadtor-e3c143f5214b4a2d37dbb47940eaf2cc2e212f86.tar.gz
tor-e3c143f5214b4a2d37dbb47940eaf2cc2e212f86.zip
Merge remote-tracking branch 'origin/maint-0.2.5'
Diffstat (limited to 'src/or/circuitmux.c')
-rw-r--r--src/or/circuitmux.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/or/circuitmux.c b/src/or/circuitmux.c
index 55580d5c29..e4571ff944 100644
--- a/src/or/circuitmux.c
+++ b/src/or/circuitmux.c
@@ -1092,8 +1092,11 @@ circuitmux_detach_circuit,(circuitmux_t *cmux, circuit_t *circ))
/*
* Use this to keep track of whether we found it for n_chan or
* p_chan for consistency checking.
+ *
+ * The 0 initializer is not a valid cell_direction_t value.
+ * We assert that it has been replaced with a valid value before it is used.
*/
- cell_direction_t last_searched_direction;
+ cell_direction_t last_searched_direction = 0;
tor_assert(cmux);
tor_assert(cmux->chanid_circid_map);
@@ -1123,6 +1126,9 @@ circuitmux_detach_circuit,(circuitmux_t *cmux, circuit_t *circ))
}
}
+ tor_assert(last_searched_direction == CELL_DIRECTION_OUT
+ || last_searched_direction == CELL_DIRECTION_IN);
+
/*
* If hashent isn't NULL, we have a circuit to detach; don't remove it from
* the map until later of circuitmux_make_circuit_inactive() breaks.