[tor-commits] [tor/master] Correctly maintain circuits in circuits_pending_other_guards().

nickm at torproject.org nickm at torproject.org
Wed Jan 18 15:44:57 UTC 2017


commit 1bc440eda476e3d270aa5fe1810a3d1d4778d725
Author: George Kadianakis <desnacked at riseup.net>
Date:   Tue Jan 17 13:26:59 2017 +0200

    Correctly maintain circuits in circuits_pending_other_guards().
---
 changes/bug21142     | 4 ++++
 src/or/circuitlist.c | 3 +++
 2 files changed, 7 insertions(+)

diff --git a/changes/bug21142 b/changes/bug21142
new file mode 100644
index 0000000..e232f43
--- /dev/null
+++ b/changes/bug21142
@@ -0,0 +1,4 @@
+  o Minor bugfixes (client, guards):
+    - Fix bug where Tor would think that there are circuits waiting for better
+      guards even though those circuits have been freed. Fixes bug #21142;
+      bugfix on 0.3.0.1-alpha.
diff --git a/src/or/circuitlist.c b/src/or/circuitlist.c
index 2d2dbcc..54a7db9 100644
--- a/src/or/circuitlist.c
+++ b/src/or/circuitlist.c
@@ -1858,6 +1858,9 @@ circuit_about_to_free(circuit_t *circ)
     if (circuits_pending_chans)
       smartlist_remove(circuits_pending_chans, circ);
   }
+  if (circuits_pending_other_guards) {
+    smartlist_remove(circuits_pending_other_guards, circ);
+  }
   if (CIRCUIT_IS_ORIGIN(circ)) {
     control_event_circuit_status(TO_ORIGIN_CIRCUIT(circ),
      (circ->state == CIRCUIT_STATE_OPEN ||





More information about the tor-commits mailing list