Pārlūkot izejas kodu

Fix idiot bug. The "free the IP history" code belons in connection_free_all(), not in connection_free(). You can all mock me now.

svn:r4691
Nick Mathewson 19 gadi atpakaļ
vecāks
revīzija
303258972b
1 mainītis faili ar 6 papildinājumiem un 4 dzēšanām
  1. 6 4
      src/or/connection.c

+ 6 - 4
src/or/connection.c

@@ -255,10 +255,6 @@ connection_free(connection_t *conn)
   }
   connection_unregister(conn);
   _connection_free(conn);
-
-  SMARTLIST_FOREACH(outgoing_addrs, void*, addr, tor_free(addr));
-  smartlist_free(outgoing_addrs);
-  outgoing_addrs = NULL;
 }
 
 /** Call _connection_free() on every connection in our array, and release all
@@ -278,6 +274,12 @@ connection_free_all(void)
   get_connection_array(&carray,&n);
   for (i=0;i<n;i++)
     _connection_free(carray[i]);
+
+  if (outgoing_addrs) {
+    SMARTLIST_FOREACH(outgoing_addrs, void*, addr, tor_free(addr));
+    smartlist_free(outgoing_addrs);
+    outgoing_addrs = NULL;
+  }
 }
 
 /** Do any cleanup needed: