diff --git a/src/or/circuitbuild.c b/src/or/circuitbuild.c index 2195810b20..9552ba4240 100644 --- a/src/or/circuitbuild.c +++ b/src/or/circuitbuild.c @@ -1495,13 +1495,15 @@ static routerinfo_t * choose_good_entry_server(uint8_t purpose, cpath_build_state_t *state) { routerinfo_t *r, *choice; - smartlist_t *excluded = smartlist_create(); + smartlist_t *excluded; or_options_t *options = get_options(); if (state && options->UseEntryGuards) { return choose_random_entry(state); } + excluded = smartlist_create(); + if (state && (r = build_state_get_exit_router(state))) { smartlist_add(excluded, r); routerlist_add_family(excluded, r);