diff options
Diffstat (limited to 'src/or/entrynodes.c')
-rw-r--r-- | src/or/entrynodes.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/or/entrynodes.c b/src/or/entrynodes.c index 30a1f4b830..e8db4a4dbb 100644 --- a/src/or/entrynodes.c +++ b/src/or/entrynodes.c @@ -2161,7 +2161,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); } |