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
This commit is contained in:
Nick Mathewson 2005-02-14 21:16:27 +00:00
parent aac97a3c6a
commit 0289144229

View File

@ -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;