aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2012-08-03 10:53:00 -0400
committerNick Mathewson <nickm@torproject.org>2012-08-03 10:53:00 -0400
commit57e35ad3d91724882c345ac709666a551a977f0f (patch)
tree764000c7a9cc988689f25c140baa665adbfeaa16
parent4e7552e5528e9e7f2f8ddaee81fe2da9606091b2 (diff)
downloadtor-57e35ad3d91724882c345ac709666a551a977f0f.tar.gz
tor-57e35ad3d91724882c345ac709666a551a977f0f.zip
Avoid possible segfault when handling networkstatus vote with bad flavor
Fix for 6530; fix on 0.2.2.6-alpha.
-rw-r--r--changes/bug65304
-rw-r--r--src/or/routerparse.c2
2 files changed, 5 insertions, 1 deletions
diff --git a/changes/bug6530 b/changes/bug6530
new file mode 100644
index 0000000000..a6b7caa1a0
--- /dev/null
+++ b/changes/bug6530
@@ -0,0 +1,4 @@
+ o Major bugfixes:
+ - Avoid a read of uninitializd RAM when reading a vote or consensus
+ document with an unrecognized flavor name. Fixes bug 6530; bugfix on
+ 0.2.2.6-alpha.
diff --git a/src/or/routerparse.c b/src/or/routerparse.c
index 8c4f582c07..2ff546bb1d 100644
--- a/src/or/routerparse.c
+++ b/src/or/routerparse.c
@@ -2821,7 +2821,7 @@ networkstatus_parse_vote_from_string(const char *s, const char **eos_out,
int flavor = networkstatus_parse_flavor_name(tok->args[1]);
if (flavor < 0) {
log_warn(LD_DIR, "Can't parse document with unknown flavor %s",
- escaped(tok->args[2]));
+ escaped(tok->args[1]));
goto err;
}
ns->flavor = flav = flavor;