]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Correctly maintain circuits in circuits_pending_other_guards().
authorGeorge Kadianakis <desnacked@riseup.net>
Tue, 17 Jan 2017 11:26:59 +0000 (13:26 +0200)
committerGeorge Kadianakis <desnacked@riseup.net>
Tue, 17 Jan 2017 11:26:59 +0000 (13:26 +0200)
changes/bug21142 [new file with mode: 0644]
src/or/circuitlist.c

diff --git a/changes/bug21142 b/changes/bug21142
new file mode 100644 (file)
index 0000000..e232f43
--- /dev/null
@@ -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.
index 2d2dbccc5df299d7abf95e39acd3011197886025..54a7db9dbff86173d575d970e80cd087f690587d 100644 (file)
@@ -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 ||