aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2008-01-14 19:00:33 +0000
committerNick Mathewson <nickm@torproject.org>2008-01-14 19:00:33 +0000
commit89dfec02d89979935568ff6028366eec1faf3380 (patch)
tree1b7ba464ce3767d1eb724f10b6a49d53f0b09f76
parentd7fb8a34ac027e8ebf53c218fef2fd6a061d88cf (diff)
downloadtor-89dfec02d89979935568ff6028366eec1faf3380.tar.gz
tor-89dfec02d89979935568ff6028366eec1faf3380.zip
r17614@catbus: nickm | 2008-01-14 13:55:25 -0500
Add a missing "goto err" when parsing v2 ns docs svn:r13133
-rw-r--r--ChangeLog3
-rw-r--r--src/or/routerparse.c3
2 files changed, 5 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index f4408819cf..144a520ab5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -47,6 +47,9 @@ Changes in version 0.2.0.16-alpha - 2008-01-??
- Detect more kinds of possible internal error.
- Avoid possible segfault if key generation fails in
crypto_pk_hybrid_encrypt. Bugfix on 0.2.0.
+ - Avoid segfault in the case where a badly behaved v2 versioning
+ directory sends a signed networkstatus with missing client-versions.
+ Bugfix on 0.1.2.
o Minor features (controller):
- Get NS events working again. (Patch from tup)
diff --git a/src/or/routerparse.c b/src/or/routerparse.c
index 102bae7641..4b0d652199 100644
--- a/src/or/routerparse.c
+++ b/src/or/routerparse.c
@@ -1882,7 +1882,8 @@ networkstatus_v2_parse_from_string(const char *s)
if (ns->recommends_versions) {
if (!(tok = find_first_by_keyword(tokens, K_CLIENT_VERSIONS))) {
- log_warn(LD_DIR, "Missing client-versions");
+ log_warn(LD_DIR, "Missing client-versions on versioning directory");
+ goto err;
}
ns->client_versions = tok->args[0];
tok->args[0] = NULL;