[or-cvs] r8969: Fix leak in choose_good_exit_server_general() (in tor/trunk: . src/or)

nickm at seul.org nickm at seul.org
Mon Nov 20 16:06:10 UTC 2006


Author: nickm
Date: 2006-11-20 11:06:09 -0500 (Mon, 20 Nov 2006)
New Revision: 8969

Modified:
   tor/trunk/
   tor/trunk/ChangeLog
   tor/trunk/src/or/circuitbuild.c
Log:
 r9567 at Kushana:  nickm | 2006-11-20 11:05:59 -0500
 Fix leak in choose_good_exit_server_general()



Property changes on: tor/trunk
___________________________________________________________________
 svk:merge ticket from /tor/trunk [r9567] on c95137ef-5f19-0410-b913-86e773d04f59

Modified: tor/trunk/ChangeLog
===================================================================
--- tor/trunk/ChangeLog	2006-11-20 13:00:16 UTC (rev 8968)
+++ tor/trunk/ChangeLog	2006-11-20 16:06:09 UTC (rev 8969)
@@ -18,6 +18,7 @@
       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

Modified: tor/trunk/src/or/circuitbuild.c
===================================================================
--- tor/trunk/src/or/circuitbuild.c	2006-11-20 13:00:16 UTC (rev 8968)
+++ tor/trunk/src/or/circuitbuild.c	2006-11-20 16:06:09 UTC (rev 8969)
@@ -1252,8 +1252,12 @@
                  "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.");
     }



More information about the tor-commits mailing list