From a667f2e5141ad5b2d529d023ad657b1ddc10a2a7 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Mon, 20 Nov 2006 16:06:09 +0000 Subject: [PATCH] r9567@Kushana: nickm | 2006-11-20 11:05:59 -0500 Fix leak in choose_good_exit_server_general() svn:r8969 --- ChangeLog | 1 + src/or/circuitbuild.c | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 3db6081bc7..dfef549a80 100644 --- a/ChangeLog +++ b/ChangeLog @@ -18,6 +18,7 @@ Changes in version 0.1.2.4-alpha - 2006-11-?? the client sends data. Previously, the connection would just hang until the client sent data. (Patch from tup based on patch from Zajcev Evgeny.) + - Fix a memory leak when we fail to pick an exit node. o Minor bugfixes - Don't log spurious warnings when we see a circuit close reason we diff --git a/src/or/circuitbuild.c b/src/or/circuitbuild.c index 3268d6d3ce..7b414b9bb2 100644 --- a/src/or/circuitbuild.c +++ b/src/or/circuitbuild.c @@ -1252,8 +1252,12 @@ choose_good_exit_server_general(routerlist_t *dir, int need_uptime, "to list of all routers.", need_capacity?", fast":"", need_uptime?", stable":""); - return choose_good_exit_server_general(dir, 0, 0); + return choose_good_exit_server_general(dir, 0, 0);//!!!! } + smartlist_free(preferredexits); + smartlist_free(excludedexits); + smartlist_free(sl); + tor_free(n_supported); log_notice(LD_CIRC, "All routers are down or won't exit -- choosing a " "doomed exit at random."); }