diff --git a/src/or/circuitbuild.c b/src/or/circuitbuild.c index 054c8dfde..6ef3677c2 100644 --- a/src/or/circuitbuild.c +++ b/src/or/circuitbuild.c @@ -2328,8 +2328,10 @@ choose_random_entry(cpath_build_state_t *state) int need_uptime = state->need_uptime; int need_capacity = state->need_capacity; - smartlist_add(exit_family, chosen_exit); - routerlist_add_family(exit_family, chosen_exit); + if (chosen_exit) { + smartlist_add(exit_family, chosen_exit); + routerlist_add_family(exit_family, chosen_exit); + } if (!entry_guards) entry_guards = smartlist_create();