Browse Source

Make populate_live_entry_guards() more smoothly testable.

George Kadianakis 10 years ago
parent
commit
71da44f159
1 changed files with 4 additions and 2 deletions
  1. 4 2
      src/or/entrynodes.c

+ 4 - 2
src/or/entrynodes.c

@@ -999,6 +999,7 @@ choose_random_dirguard(dirinfo_type_t type)
    Return 1 if we should choose a guard right away. */
 static int
 populate_live_entry_guards(smartlist_t *live_entry_guards,
+                           const smartlist_t *all_entry_guards,
                            const node_t *chosen_exit,
                            dirinfo_type_t dirinfo_type,
                            int for_directory,
@@ -1011,13 +1012,13 @@ populate_live_entry_guards(smartlist_t *live_entry_guards,
   int retval = 0;
   int need_descriptor = !for_directory;
 
-  tor_assert(entry_guards);
+  tor_assert(all_entry_guards);
 
   if (chosen_exit) {
     nodelist_add_node_and_family(exit_family, chosen_exit);
   }
 
-  SMARTLIST_FOREACH_BEGIN(entry_guards, const entry_guard_t *, entry) {
+  SMARTLIST_FOREACH_BEGIN(all_entry_guards, const entry_guard_t *, entry) {
       const char *msg;
       node = entry_is_live(entry, need_uptime, need_capacity, 0,
                            need_descriptor, &msg);
@@ -1090,6 +1091,7 @@ choose_random_entry_impl(cpath_build_state_t *state, int for_directory,
   /* Populate the list of live entry guards so that we pick one of
      them. */
   retval = populate_live_entry_guards(live_entry_guards,
+                                      entry_guards,
                                       chosen_exit,
                                       dirinfo_type,
                                       for_directory,