瀏覽代碼

Call router_have_minimum_dir_info() at the beginning of router_add_to_routerlist() since it has side effects

svn:r10754
Peter Palfrader 17 年之前
父節點
當前提交
db3a4bf897
共有 1 個文件被更改,包括 3 次插入1 次删除
  1. 3 1
      src/or/routerlist.c

+ 3 - 1
src/or/routerlist.c

@@ -2359,6 +2359,8 @@ router_add_to_routerlist(routerinfo_t *router, const char **msg,
   int authdir = authdir_mode(get_options());
   int authdir_believes_valid = 0;
   routerinfo_t *old_router;
+  /* This has side effects, so do it before we start the real work */
+  int have_dir_info = router_have_minimum_dir_info();
 
   routerlist_check_bug_417();
   tor_assert(msg);
@@ -2454,7 +2456,7 @@ router_add_to_routerlist(routerinfo_t *router, const char **msg,
           old_router->num_unreachable_notifications;
       }
       if (authdir && !from_cache && !from_fetch &&
-          router_have_minimum_dir_info() &&
+          have_dir_info &&
           dirserv_thinks_router_is_blatantly_unreachable(router, time(NULL))) {
         if (router->num_unreachable_notifications >= 3) {
           unreachable = 1;