From 261f49fe2607a342a5454184705ba1277e32857f Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Sat, 31 Jan 2009 18:27:38 +0000 Subject: [PATCH] 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 --- ChangeLog | 4 ++++ src/or/routerparse.c | 3 +++ 2 files changed, 7 insertions(+) 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;