diff options
author | Roger Dingledine <arma@torproject.org> | 2004-05-21 12:25:15 +0000 |
---|---|---|
committer | Roger Dingledine <arma@torproject.org> | 2004-05-21 12:25:15 +0000 |
commit | f51061439b086e5eef460023a02893cfb8931d65 (patch) | |
tree | 16d2e1c12715fa89aafbe7f8a71bfc41e0bc00eb /src/or/dns.c | |
parent | 3532ba8177dc79a5f5ee014403e5d747ef1a12cd (diff) | |
download | tor-f51061439b086e5eef460023a02893cfb8931d65.tar.gz tor-f51061439b086e5eef460023a02893cfb8931d65.zip |
when the dns resolve is cancelled, or fails, be sure to remove
conn from circ->resolving_streams
otherwise it gets freed and stays there, causing seg faults.
svn:r1915
Diffstat (limited to 'src/or/dns.c')
-rw-r--r-- | src/or/dns.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/or/dns.c b/src/or/dns.c index f00868d9f1..0106c4d814 100644 --- a/src/or/dns.c +++ b/src/or/dns.c @@ -436,6 +436,7 @@ static void dns_found_answer(char *address, uint32_t addr, char outcome) { connection_mark_for_close macro */ /* prevent double-remove. */ pendconn->state = EXIT_CONN_STATE_RESOLVEFAILED; + circuit_detach_stream(circuit_get_by_conn(pendconn), pendconn); connection_edge_end(pendconn, END_STREAM_REASON_MISC, pendconn->cpath_layer); connection_mark_for_close(pendconn); connection_free(pendconn); |