From c283368f60de1d93402199fd138c813fcbc8f843 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Sat, 31 Jan 2009 18:28:22 +0000 Subject: Backport r18354: Fix a possible cause of bug 915 when parsing multiple votes one of which was bad. Bugfix on 0.2.0.8-alpha. svn:r18355 --- ChangeLog | 4 ++++ src/or/routerparse.c | 3 +++ 2 files changed, 7 insertions(+) diff --git a/ChangeLog b/ChangeLog index 32966d4b55..fb6775d05c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,8 @@ Changes in version 0.2.0.34 - 2009-??-?? + 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: - Fix compilation on systems where time_t is a 64-bit integer. Patch from Matthias Drochner. diff --git a/src/or/routerparse.c b/src/or/routerparse.c index 1bbd483bce..7524e7205a 100644 --- a/src/or/routerparse.c +++ b/src/or/routerparse.c @@ -2011,6 +2011,9 @@ networkstatus_parse_vote_from_string(const char *s, const char **eos_out, struct in_addr in; int i, inorder, n_signatures = 0; + 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; -- cgit v1.2.3-54-g00ecf