diff options
Diffstat (limited to 'src/or/circuitlist.c')
-rw-r--r-- | src/or/circuitlist.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/or/circuitlist.c b/src/or/circuitlist.c index 8eb442df8..002a7df23 100644 --- a/src/or/circuitlist.c +++ b/src/or/circuitlist.c @@ -200,6 +200,8 @@ circuit_set_state(circuit_t *circ, int state) /* add to waiting-circuit list. */ smartlist_add(circuits_pending_or_conns, circ); } + if (state == CIRCUIT_STATE_OPEN) + tor_assert(!circ->n_conn_onionskin); circ->state = state; } @@ -413,8 +415,6 @@ circuit_free(circuit_t *circ) other->rend_splice = NULL; } - tor_free(circ->onionskin); - /* remove from map. */ circuit_set_p_circid_orconn(ocirc, 0, NULL); @@ -423,6 +423,8 @@ circuit_free(circuit_t *circ) cell_queue_clear(ô->p_conn_cells); } + tor_free(circ->n_conn_onionskin); + /* Remove from map. */ circuit_set_n_circid_orconn(circ, 0, NULL); @@ -1162,7 +1164,7 @@ assert_circuit_ok(const circuit_t *c) tor_assert(c->deliver_window >= 0); tor_assert(c->package_window >= 0); if (c->state == CIRCUIT_STATE_OPEN) { - tor_assert(!c->onionskin); + tor_assert(!c->n_conn_onionskin); if (or_circ) { tor_assert(or_circ->n_crypto); tor_assert(or_circ->p_crypto); |