[tor-commits] [tor/master] Fix infinite loop in circuit_expire_bulding

nickm at torproject.org nickm at torproject.org
Fri Dec 7 19:10:59 UTC 2012


commit cd4f56a37c3513cdca3463c3638067380af29219
Author: Nick Mathewson <nickm at torproject.org>
Date:   Fri Dec 7 14:08:07 2012 -0500

    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 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/src/or/circuituse.c b/src/or/circuituse.c
index a329afb..e14f9d0 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 &&



More information about the tor-commits mailing list