Avoid crashing if we call num_usable_bridges() when bridges are not enabled

This applies the changes in 23524 to num_usable_bridges(), because it has
replaced any_bridge_descriptors_known().

The original changes file still applies.
This commit is contained in:
teor 2017-11-22 02:01:51 +11:00
parent 690f646bf8
commit d7833c9d27
No known key found for this signature in database
GPG Key ID: 740D9E39025272A2

View File

@ -3145,9 +3145,13 @@ num_bridges_usable,(void))
{ {
int n_options = 0; int n_options = 0;
tor_assert(get_options()->UseBridges); if (BUG(!get_options()->UseBridges)) {
return 0;
}
guard_selection_t *gs = get_guard_selection_info(); guard_selection_t *gs = get_guard_selection_info();
tor_assert(gs->type == GS_TYPE_BRIDGE); if (BUG(gs->type != GS_TYPE_BRIDGE)) {
return 0;
}
SMARTLIST_FOREACH_BEGIN(gs->sampled_entry_guards, entry_guard_t *, guard) { SMARTLIST_FOREACH_BEGIN(gs->sampled_entry_guards, entry_guard_t *, guard) {
if (guard->is_reachable == GUARD_REACHABLE_NO) if (guard->is_reachable == GUARD_REACHABLE_NO)