Browse Source

Merge remote-tracking branch 'public/bug8208'

Nick Mathewson 12 years ago
parent
commit
fd8ef8dc57
2 changed files with 10 additions and 2 deletions
  1. 4 0
      changes/bug8208
  2. 6 2
      src/or/router.c

+ 4 - 0
changes/bug8208

@@ -0,0 +1,4 @@
+  o Minor bugfixes:
+    - Avoid a crash if we fail to generate an extrinfo descriptor.
+      Fixes bug 8208; bugfix on 0.2.3.16-alpha. Found by Coverity;
+      this is CID 718634.

+ 6 - 2
src/or/router.c

@@ -1942,9 +1942,13 @@ router_rebuild_descriptor(int force)
        anyway, since they don't have a DirPort, and always connect to the
        anyway, since they don't have a DirPort, and always connect to the
        bridge authority anonymously.  But just in case they somehow think of
        bridge authority anonymously.  But just in case they somehow think of
        sending them on an unencrypted connection, don't allow them to try. */
        sending them on an unencrypted connection, don't allow them to try. */
-    ri->cache_info.send_unencrypted = ei->cache_info.send_unencrypted = 0;
+    ri->cache_info.send_unencrypted = 0;
+    if (ei)
+      ei->cache_info.send_unencrypted = 0
   } else {
   } else {
-    ri->cache_info.send_unencrypted = ei->cache_info.send_unencrypted = 1;
+    ri->cache_info.send_unencrypted = 1;
+    if (ei)
+      ei->cache_info.send_unencrypted = 1;
   }
   }
 
 
   router_get_router_hash(ri->cache_info.signed_descriptor_body,
   router_get_router_hash(ri->cache_info.signed_descriptor_body,