aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2007-04-09 21:33:49 +0000
committerNick Mathewson <nickm@torproject.org>2007-04-09 21:33:49 +0000
commit32506ad2827b45bb960cf252aa0d08c426801010 (patch)
treeb33d7fb390166c9895d8fdb10ef211f2cec641ce
parent98e5d10761b71d53590f4f13ccfd926f67262f72 (diff)
downloadtor-32506ad2827b45bb960cf252aa0d08c426801010.tar
tor-32506ad2827b45bb960cf252aa0d08c426801010.tar.gz
svn:r9930
-rw-r--r--src/or/circuitlist.c8
-rw-r--r--src/or/connection_or.c1
2 files changed, 9 insertions, 0 deletions
diff --git a/src/or/circuitlist.c b/src/or/circuitlist.c
index 18bb93d4e..7de520c41 100644
--- a/src/or/circuitlist.c
+++ b/src/or/circuitlist.c
@@ -158,9 +158,11 @@ circuit_set_p_circid_orconn(or_circuit_t *circ, uint16_t id,
or_connection_t *conn)
{
int active;
+ int active;
active = circ->p_conn_cells.n > 0;
tor_assert(bool_eq(active, circ->next_active_on_p_conn));
+ active = circ->p_conn_cells.n > 0;
circuit_set_circid_orconn_helper(TO_CIRCUIT(circ), CELL_DIRECTION_IN,
id, conn, active);
@@ -177,9 +179,11 @@ circuit_set_n_circid_orconn(circuit_t *circ, uint16_t id,
or_connection_t *conn)
{
int active;
+ int active;
active = circ->n_conn_cells.n > 0;
tor_assert(bool_eq(active, circ->next_active_on_n_conn));
+ active = circ->n_conn_cells.n > 0;
circuit_set_circid_orconn_helper(circ, CELL_DIRECTION_OUT,
id, conn, active);
@@ -410,6 +414,8 @@ circuit_free(circuit_t *circ)
other->rend_splice = NULL;
}
+ cell_queue_clear(&ocirc->p_conn_cells);
+
tor_free(circ->onionskin);
/* remove from map. */
@@ -420,6 +426,8 @@ circuit_free(circuit_t *circ)
cell_queue_clear(&ocirc->p_conn_cells);
}
+ cell_queue_clear(&circ->n_conn_cells);
+
/* Remove from map. */
circuit_set_n_circid_orconn(circ, 0, NULL);
diff --git a/src/or/connection_or.c b/src/or/connection_or.c
index 7a3c6f291..d9d3b69f7 100644
--- a/src/or/connection_or.c
+++ b/src/or/connection_or.c
@@ -792,6 +792,7 @@ int
connection_or_send_destroy(uint16_t circ_id, or_connection_t *conn, int reason)
{
cell_t cell;
+ circuit_t *circ;
tor_assert(conn);