summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2006-11-20 16:06:09 +0000
committerNick Mathewson <nickm@torproject.org>2006-11-20 16:06:09 +0000
commita667f2e5141ad5b2d529d023ad657b1ddc10a2a7 (patch)
treed8a1eb1db6a69f4672c26f0d2bff64b5a316fc26
parent6120cb7d6427b1f2022a76d0b0f434dfd73a0b1f (diff)
downloadtor-a667f2e5141ad5b2d529d023ad657b1ddc10a2a7.tar.gz
tor-a667f2e5141ad5b2d529d023ad657b1ddc10a2a7.zip
r9567@Kushana: nickm | 2006-11-20 11:05:59 -0500
Fix leak in choose_good_exit_server_general() svn:r8969
-rw-r--r--ChangeLog1
-rw-r--r--src/or/circuitbuild.c6
2 files changed, 6 insertions, 1 deletions
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.");
}