aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2012-09-05 16:25:13 -0400
committerNick Mathewson <nickm@torproject.org>2012-09-05 16:25:13 -0400
commitf8c1ab7bbf7e7f4528406ae5ba7837866642549d (patch)
tree860e6767ffb45c8cb9b523a64cbbfede1d453c62
parent0770e4ccdbda2e71ad0a45d528b125df5b8db1a3 (diff)
parent9d9ca264ec7505cdaf4a0032eac4489be6a52076 (diff)
downloadtor-f8c1ab7bbf7e7f4528406ae5ba7837866642549d.tar.gz
tor-f8c1ab7bbf7e7f4528406ae5ba7837866642549d.zip
Merge remote-tracking branch 'origin/maint-0.2.3'
-rw-r--r--changes/bug67744
-rw-r--r--src/or/circuitbuild.c6
2 files changed, 10 insertions, 0 deletions
diff --git a/changes/bug6774 b/changes/bug6774
new file mode 100644
index 0000000000..0c137fd678
--- /dev/null
+++ b/changes/bug6774
@@ -0,0 +1,4 @@
+ o Minor bugfixes:
+ - Avoid crashing on a malformed state file where EntryGuardPathBias
+ precedes EntryGuard. Fix for bug 6774; bugfix on 0.2.3.17-beta.
+
diff --git a/src/or/circuitbuild.c b/src/or/circuitbuild.c
index 2a449b0cc0..87a3fa67b1 100644
--- a/src/or/circuitbuild.c
+++ b/src/or/circuitbuild.c
@@ -4904,6 +4904,12 @@ entry_guards_parse_state(or_state_t *state, int set, char **msg)
const or_options_t *options = get_options();
unsigned hop_cnt, success_cnt;
+ if (!node) {
+ *msg = tor_strdup("Unable to parse entry nodes: "
+ "EntryGuardPathBias without EntryGuard");
+ break;
+ }
+
if (tor_sscanf(line->value, "%u %u", &success_cnt, &hop_cnt) != 2) {
log_warn(LD_GENERAL, "Unable to parse guard path bias info: "
"Misformated EntryGuardPathBias %s", escaped(line->value));