This is based on shitlei's fix for bug2629, with extra parens removed.
Fixes bug 2629, bugfix on 0.2.1.2-alpha.
--- /dev/null
+ 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".
+
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;
}