Commit 316afb6d authored by Roger Dingledine's avatar Roger Dingledine
Browse files

fix an assert trigger in cvs: if a resolve request fails, and the circuit

has vanished in the meantime, then we would both mark it for close
(i.e. put it on the closeable list) and also immediately free it.


svn:r3759
parent 0197b47c
...@@ -277,7 +277,8 @@ int dns_resolve(connection_t *exitconn) { ...@@ -277,7 +277,8 @@ int dns_resolve(connection_t *exitconn) {
circ = circuit_get_by_conn(exitconn); circ = circuit_get_by_conn(exitconn);
if (circ) if (circ)
circuit_detach_stream(circ, exitconn); circuit_detach_stream(circ, exitconn);
connection_free(exitconn); if (!exitconn->marked_for_close)
connection_free(exitconn);
return -1; return -1;
} }
tor_assert(0); tor_assert(0);
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment