]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Chek for overlong nicknames in add_nickname_list_to_smartlist
authorNick Mathewson <nickm@torproject.org>
Thu, 22 Jul 2004 21:36:03 +0000 (21:36 +0000)
committerNick Mathewson <nickm@torproject.org>
Thu, 22 Jul 2004 21:36:03 +0000 (21:36 +0000)
svn:r2109

src/or/routerlist.c

index dccb9f463c1d1cc8f815f917c785b09c0643dfc5..f269b54967f548664fab21ad5ecc55350461cb4d 100644 (file)
@@ -158,6 +158,11 @@ void add_nickname_list_to_smartlist(smartlist_t *sl, const char *list) {
   start = list;
   while(*start) {
     end=start; while(*end && !isspace((int)*end) && *end != ',') end++;
+    if (end-start > MAX_HEX_NICKNAME_LEN) {
+      log_fn(LOG_WARN,"Nickname too long; skipping");
+      start = end;
+      continue;
+    }
     memcpy(nick,start,end-start);
     nick[end-start] = 0; /* null terminate it */
     router = router_get_by_nickname(nick);