From 2c221dd8db997e822c003f8c532488df4c35746a Mon Sep 17 00:00:00 2001 From: Roger Dingledine Date: Thu, 9 Feb 2006 02:42:15 +0000 Subject: [PATCH] fix bug 245: When modifying the orconn_circid_map map, we would sometimes decrement conn->n_circuits even when there was no circuit originally. This caused conn->n_circuits to go negative. We noticed this because we were checking if connections can be closed based on conn->n_circuits == 0, so we were never closing any connection that had ever had a circuit on it. svn:r5931 --- src/or/circuitlist.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/or/circuitlist.c b/src/or/circuitlist.c index ab60327a2d..6f5fc26c68 100644 --- a/src/or/circuitlist.c +++ b/src/or/circuitlist.c @@ -112,8 +112,8 @@ circuit_set_circid_orconn(circuit_t *circ, uint16_t id, found = HT_REMOVE(orconn_circid_map, &orconn_circid_circuit_map, &search); if (found) { tor_free(found); + --old_conn->n_circuits; } - --old_conn->n_circuits; } if (conn == NULL)