Browse Source

fix segfault when specifying DirServer without nickname
(reported by weasel)


svn:r5614

Roger Dingledine 20 years ago
parent
commit
34249e8861
1 changed files with 5 additions and 2 deletions
  1. 5 2
      src/or/routerlist.c

+ 5 - 2
src/or/routerlist.c

@@ -2558,8 +2558,11 @@ add_trusted_dir_server(const char *nickname, const char *address,
 
   ent->fake_status.addr = ent->addr;
   memcpy(ent->fake_status.identity_digest, digest, DIGEST_LEN);
-  strlcpy(ent->fake_status.nickname, nickname,
-          sizeof(ent->fake_status.nickname));
+  if (nickname)
+    strlcpy(ent->fake_status.nickname, nickname,
+            sizeof(ent->fake_status.nickname));
+  else
+    ent->fake_status.nickname[0] = '\0';
   ent->fake_status.dir_port = ent->dir_port;
 
   smartlist_add(trusted_dir_servers, ent);