From: Linus Nordberg Date: Tue, 8 May 2012 12:53:59 +0000 (+0200) Subject: Don't assume that a node has routerinfo. X-Git-Tag: tor-0.2.4.1-alpha~84^2~10 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c1ff07440e67f1ae690acbfceddb6174fdb092df;p=thirdparty%2Ftor.git Don't assume that a node has routerinfo. 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. --- diff --git a/src/or/dirserv.c b/src/or/dirserv.c index 8f65b7fce4..3518d9ea57 100644 --- a/src/or/dirserv.c +++ b/src/or/dirserv.c @@ -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. */