[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[tor-commits] [tor/master] When marking guard state instances on a channel, don't mark NULL



commit 35d827094237e92436ff28fffeb282ac83220839
Author: Nick Mathewson <nickm@xxxxxxxxxxxxxx>
Date:   Tue Jan 31 14:44:14 2017 -0500

    When marking guard state instances on a channel, don't mark NULL
    
    It's okay for guard_state to be null: we might have a fallback
    circuit, or we might not be using guards.
    
    Fixes bug 211228; bugfix on 0.3.0.1-alpha
---
 changes/bug21128    | 5 +++++
 src/or/entrynodes.c | 6 +++++-
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/changes/bug21128 b/changes/bug21128
new file mode 100644
index 0000000..972d2a2
--- /dev/null
+++ b/changes/bug21128
@@ -0,0 +1,5 @@
+  o Minor bugfixes (client, entry guards):
+    - Fix a bug warning (with backtrace) when we fail a channel
+      that circuits to fallback directories on it. Fixes bug 21128;
+      bugfix on 0.3.0.1-alpha.
+
diff --git a/src/or/entrynodes.c b/src/or/entrynodes.c
index c5fb92e..f9b3b60 100644
--- a/src/or/entrynodes.c
+++ b/src/or/entrynodes.c
@@ -2172,7 +2172,11 @@ entry_guard_chan_failed(channel_t *chan)
       continue;
 
     origin_circuit_t *origin_circ = TO_ORIGIN_CIRCUIT(circ);
-    entry_guard_failed(&origin_circ->guard_state);
+    if (origin_circ->guard_state) {
+      /* We might have no guard state if we didn't use a guard on this
+       * circuit (eg it's for a fallback directory). */
+      entry_guard_failed(&origin_circ->guard_state);
+    }
   } SMARTLIST_FOREACH_END(circ);
   smartlist_free(pending);
 }



_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits