소스 검색

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.
Nick Mathewson 13 년 전
부모
커밋
9a6df21539
2개의 변경된 파일7개의 추가작업 그리고 1개의 파일을 삭제
  1. 5 0
      changes/bug2629
  2. 2 1
      src/or/circuitbuild.c

+ 5 - 0
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".
+

+ 2 - 1
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;
     }