From: Nick Mathewson Date: Sat, 31 Jan 2009 18:27:38 +0000 (+0000) Subject: Fix a possible cause of bug 915 when parsing multiple votes one of which was bad... X-Git-Tag: tor-0.2.1.12-alpha~19 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=261f49fe2607a342a5454184705ba1277e32857f;p=thirdparty%2Ftor.git Fix a possible cause of bug 915 when parsing multiple votes one of which was bad. Bugfix on 0.2.0.8-alpha. svn:r18354 --- diff --git a/ChangeLog b/ChangeLog index b9a932aa50..c8475746be 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,8 @@ Changes in version 0.2.1.12-alpha - 2009-02-?? + o Major bugfixes: + - Fix an infinite-loop bug on handling corrupt votes under certain + circumstances. Bugfix on 0.2.0.8-alpha. + o Minor bugfixes: - Let controllers actually ask for the "clients_seen" event. Bugfix on 0.2.1.10-alpha; reported by Matt Edman. diff --git a/src/or/routerparse.c b/src/or/routerparse.c index b2df638874..71f9f9c193 100644 --- a/src/or/routerparse.c +++ b/src/or/routerparse.c @@ -2167,6 +2167,9 @@ networkstatus_parse_vote_from_string(const char *s, const char **eos_out, memarea_t *area = NULL, *rs_area = NULL; tor_assert(s); + if (eos_out) + *eos_out = NULL; + if (router_get_networkstatus_v3_hash(s, ns_digest)) { log_warn(LD_DIR, "Unable to compute digest of network-status"); goto err;