summaryrefslogtreecommitdiff
path: root/src/or/connection.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/or/connection.c')
-rw-r--r--src/or/connection.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/or/connection.c b/src/or/connection.c
index a28bd42961..855fc9e399 100644
--- a/src/or/connection.c
+++ b/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: