From: Nick Mathewson Date: Mon, 14 Feb 2005 21:16:27 +0000 (+0000) Subject: Fix another crash bug found by Jaroslaw--it is possible for dns_resolve to mark a... X-Git-Tag: tor-0.1.0.1-rc~250 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0289144229ea73f5c5ed514b14dac775a7385a29;p=thirdparty%2Ftor.git Fix another crash bug found by Jaroslaw--it is possible for dns_resolve to mark a connection to be freed, if the circuit it was attached to fails for some reason. svn:r3623 --- diff --git a/src/or/connection_edge.c b/src/or/connection_edge.c index 65ec80aaf9..b45f75b175 100644 --- a/src/or/connection_edge.c +++ b/src/or/connection_edge.c @@ -910,7 +910,8 @@ int connection_exit_begin_resolve(cell_t *cell, circuit_t *circ) { /* Connection freed; don't touch it. */ return 0; case 1: /* The result was cached; a resolved cell was sent. */ - connection_free(dummy_conn); + if (!dummy_conn->marked_for_close) + connection_free(dummy_conn); return 0; case 0: /* resolve added to pending list */ dummy_conn->next_stream = circ->resolving_streams;