]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Don't assume that a node has routerinfo.
authorLinus Nordberg <linus@nordberg.se>
Tue, 8 May 2012 12:53:59 +0000 (14:53 +0200)
committerLinus Nordberg <linus@torproject.org>
Thu, 19 Jul 2012 16:21:20 +0000 (18:21 +0200)
We can end up in dirserv_orconn_tls_done() with a node missing
routerinfo in at least two cases -- command_process_certs_cell() and
connection_or_check_valid_tls_handshake() -- and probably more.

src/or/dirserv.c

index 8f65b7fce4bf77c9f11cf52f088a35b95c7a1ff0..3518d9ea57a1412f77b1b809a5de4311c2a9b238 100644 (file)
@@ -3284,10 +3284,9 @@ dirserv_orconn_tls_done(const char *address,
   tor_assert(digest_rcvd);
 
   node = node_get_mutable_by_id(digest_rcvd);
-  if (node == NULL)
+  if (node == NULL || node->ri == NULL)
     return;
   ri = node->ri;
-  tor_assert(ri);
 
   if (!strcasecmp(address, ri->address) && or_port == ri->or_port) {
     /* Found the right router.  */