mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-28 14:23:30 +01:00
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:
parent
aac97a3c6a
commit
0289144229
@ -910,7 +910,8 @@ int connection_exit_begin_resolve(cell_t *cell, circuit_t *circ) {
|
|||||||
/* Connection freed; don't touch it. */
|
/* Connection freed; don't touch it. */
|
||||||
return 0;
|
return 0;
|
||||||
case 1: /* The result was cached; a resolved cell was sent. */
|
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;
|
return 0;
|
||||||
case 0: /* resolve added to pending list */
|
case 0: /* resolve added to pending list */
|
||||||
dummy_conn->next_stream = circ->resolving_streams;
|
dummy_conn->next_stream = circ->resolving_streams;
|
||||||
|
Loading…
Reference in New Issue
Block a user