]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
conn: Fix memleaks in retry_all_listeners
authorDavid Goulet <dgoulet@torproject.org>
Wed, 12 Sep 2018 21:51:52 +0000 (17:51 -0400)
committerDavid Goulet <dgoulet@torproject.org>
Wed, 12 Sep 2018 21:51:56 +0000 (17:51 -0400)
Fixes #27670

Signed-off-by: David Goulet <dgoulet@torproject.org>
src/core/mainloop/connection.c

index 3c057ad1465c8129acca32cd739d38f90b63c6f2..7ef7423b13ce021a65dc32e4d3d855fd7ff6f8c5 100644 (file)
@@ -2900,6 +2900,9 @@ retry_all_listeners(smartlist_t *new_conns, int close_all_noncontrol)
   } SMARTLIST_FOREACH_END(conn);
 
   smartlist_free(listeners);
+  /* Cleanup any remaining listener replacement. */
+  SMARTLIST_FOREACH(replacements, listener_replacement_t *, r, tor_free(r));
+  smartlist_free(replacements);
 
   if (old_or_port != router_get_advertised_or_port(options) ||
       old_or_port_ipv6 != router_get_advertised_or_port_by_af(options,