Selaa lähdekoodia

If we start/stop reading on a dnsserv connection, don't assert.

Fixes bug 16248. Patch from cypherpunks.  Bugfix on 0.2.0.1-alpha.
Nick Mathewson 8 vuotta sitten
vanhempi
commit
650c03127a
1 muutettua tiedostoa jossa 12 lisäystä ja 0 poistoa
  1. 12 0
      src/or/main.c

+ 12 - 0
src/or/main.c

@@ -517,6 +517,12 @@ connection_stop_reading(connection_t *conn)
       return;
   });
 
+  /* if dummy conn then no socket and no event, nothing to do here */
+  if (conn->type == CONN_TYPE_AP && TO_EDGE_CONN(conn)->is_dns_request) {
+    tor_assert(!conn->read_event);
+    return;
+  }
+
   tor_assert(conn->read_event);
 
   if (conn->linked) {
@@ -542,6 +548,12 @@ connection_start_reading(connection_t *conn)
       return;
   });
 
+  /* if dummy conn then no socket and no event, nothing to do here */
+  if (conn->type == CONN_TYPE_AP && TO_EDGE_CONN(conn)->is_dns_request) {
+    tor_assert(!conn->read_event);
+    return;
+  }
+
   tor_assert(conn->read_event);
 
   if (conn->linked) {