diff --git a/src/or/connection.c b/src/or/connection.c index 8e8505d1e9..854989c46d 100644 --- a/src/or/connection.c +++ b/src/or/connection.c @@ -215,6 +215,7 @@ void connection_free_all(void) { */ void connection_about_to_close_connection(connection_t *conn) { + circuit_t *circ; assert(conn->marked_for_close); @@ -271,7 +272,9 @@ void connection_about_to_close_connection(connection_t *conn) break; case CONN_TYPE_EXIT: if (conn->state == EXIT_CONN_STATE_RESOLVING) { - circuit_detach_stream(circuit_get_by_conn(conn), conn); + circ = circuit_get_by_conn(conn); + if (circ) + circuit_detach_stream(circ, conn); connection_dns_remove(conn); } break;