summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2009-01-31 18:27:38 +0000
committerNick Mathewson <nickm@torproject.org>2009-01-31 18:27:38 +0000
commit261f49fe2607a342a5454184705ba1277e32857f (patch)
treefae513aa3fd211f71833ead2f249adf8414a5a59
parent676cfbbf8404c62c420223f5aee4bd8c5e69cee0 (diff)
downloadtor-261f49fe2607a342a5454184705ba1277e32857f.tar.gz
tor-261f49fe2607a342a5454184705ba1277e32857f.zip
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
-rw-r--r--ChangeLog4
-rw-r--r--src/or/routerparse.c3
2 files changed, 7 insertions, 0 deletions
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;