From 1391eafe67f49ff9a7e8d98dae34d90c5cb73b8e Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Thu, 22 Jul 2004 21:36:03 +0000 Subject: [PATCH] Chek for overlong nicknames in add_nickname_list_to_smartlist svn:r2109 --- src/or/routerlist.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/or/routerlist.c b/src/or/routerlist.c index dccb9f463c..f269b54967 100644 --- a/src/or/routerlist.c +++ b/src/or/routerlist.c @@ -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);