Pārlūkot izejas kodu

don't double-detach a closing exit conn that's waiting for dns resolve

svn:r3477
Roger Dingledine 20 gadi atpakaļ
vecāks
revīzija
a0312f3590
1 mainītis faili ar 4 papildinājumiem un 1 dzēšanām
  1. 4 1
      src/or/connection.c

+ 4 - 1
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;