summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2011-03-08 15:17:41 -0500
committerNick Mathewson <nickm@torproject.org>2011-03-08 15:17:41 -0500
commit9a6df215395750286383eed77f3c49d2b3ef34df (patch)
tree33e2b09b32c5e9db67490f0033afc454ce489cde
parent4fa70e11ed93e8f2d67dfab6f64080a0d017e2d9 (diff)
downloadtor-9a6df215395750286383eed77f3c49d2b3ef34df.tar.gz
tor-9a6df215395750286383eed77f3c49d2b3ef34df.zip
Avoid crash in any_pending_bridge_descriptor_fetches
This is based on shitlei's fix for bug2629, with extra parens removed. Fixes bug 2629, bugfix on 0.2.1.2-alpha.
-rw-r--r--changes/bug26295
-rw-r--r--src/or/circuitbuild.c3
2 files changed, 7 insertions, 1 deletions
diff --git a/changes/bug2629 b/changes/bug2629
new file mode 100644
index 0000000000..87817cf6e3
--- /dev/null
+++ b/changes/bug2629
@@ -0,0 +1,5 @@
+ o Minor bugfixes
+ - Fix a crash bug that could occur occasionally when a client was
+ configured with a large number of bridges. Fixes bug 2629; bugfix
+ on 0.2.1.2-alpha. Bugfix by trac user "shitlei".
+
diff --git a/src/or/circuitbuild.c b/src/or/circuitbuild.c
index 065eb052ff..76713e676f 100644
--- a/src/or/circuitbuild.c
+++ b/src/or/circuitbuild.c
@@ -3200,7 +3200,8 @@ any_pending_bridge_descriptor_fetches(void)
conn->purpose == DIR_PURPOSE_FETCH_SERVERDESC &&
TO_DIR_CONN(conn)->router_purpose == ROUTER_PURPOSE_BRIDGE &&
!conn->marked_for_close &&
- conn->linked && !conn->linked_conn->marked_for_close) {
+ conn->linked &&
+ conn->linked_conn && !conn->linked_conn->marked_for_close) {
log_debug(LD_DIR, "found one: %s", conn->address);
return 1;
}