summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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;
}