From cd4f56a37c3513cdca3463c3638067380af29219 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Fri, 7 Dec 2012 14:08:07 -0500 Subject: [PATCH] Fix infinite loop in circuit_expire_bulding Fixes bug 7663; bug introduced in 42e3c04a7a5fb47a9. Not in any released version of Tor. --- src/or/circuituse.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/or/circuituse.c b/src/or/circuituse.c index a329afb6fa..e14f9d03ca 100644 --- a/src/or/circuituse.c +++ b/src/or/circuituse.c @@ -382,8 +382,10 @@ circuit_expire_building(void) * See bug #3443. */ while (next_circ) { if (!CIRCUIT_IS_ORIGIN(next_circ) || /* didn't originate here */ - next_circ->marked_for_close) /* don't mess with marked circs */ + next_circ->marked_for_close) { /* don't mess with marked circs */ + next_circ = next_circ->next; continue; + } if (TO_ORIGIN_CIRCUIT(next_circ)->has_opened && next_circ->state == CIRCUIT_STATE_OPEN &&