Prechádzať zdrojové kódy

r17268@catbus: nickm | 2007-12-19 23:53:53 -0500
Initialize [un]named_server_map to empty strmaps when router_reload_consensus_networkstatus fails completely. Resolves bug 538.


svn:r12881

Nick Mathewson 16 rokov pred
rodič
commit
5c33c0632e
2 zmenil súbory, kde vykonal 8 pridanie a 0 odobranie
  1. 1 0
      ChangeLog
  2. 7 0
      src/or/networkstatus.c

+ 1 - 0
ChangeLog

@@ -85,6 +85,7 @@ Changes in version 0.2.0.13-alpha - 2007-12-??
     - Fix compilation with --disable-threads set.
     - Authorities decide whether they're authoritative for a given router
       based on the router's purpose.
+    - Don't crash on name lookup when we have no current consensus.
 
   o Minor features:
     - On USR1, when dmalloc is in use, log the top 10 memory

+ 7 - 0
src/or/networkstatus.c

@@ -203,6 +203,13 @@ router_reload_consensus_networkstatus(void)
     }
   }
 
+  if (!current_consensus) {
+    if (!named_server_map)
+      named_server_map = strmap_new();
+    if (!unnamed_server_map)
+      unnamed_server_map = strmap_new();
+  }
+
   routers_update_all_from_networkstatus(time(NULL), 3);
 
   return 0;