]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Free some more still-in-use memory at exit
authorRoger Dingledine <arma@torproject.org>
Wed, 3 Oct 2012 16:46:09 +0000 (12:46 -0400)
committerRoger Dingledine <arma@torproject.org>
Wed, 3 Oct 2012 16:46:09 +0000 (12:46 -0400)
changes/bug7029 [new file with mode: 0644]
src/or/circuitbuild.c
src/or/config.c
src/or/connection.c
src/or/main.c
src/or/rephist.c

diff --git a/changes/bug7029 b/changes/bug7029
new file mode 100644 (file)
index 0000000..a115b42
--- /dev/null
@@ -0,0 +1,3 @@
+  o Minor bugfixes (code cleanliness):
+    - Free some more still-in-use memory at exit, to make hunting for
+      memory leaks easier. Resolves bug 7029.
index 09eef64eff83453f10058d36bc79936b81fb145c..48cc8b715204d435aad2fda8643c8dcaeb2c3ffb 100644 (file)
@@ -5865,5 +5865,6 @@ entry_guards_free_all(void)
   clear_bridge_list();
   smartlist_free(bridge_list);
   bridge_list = NULL;
+  circuit_build_times_free_timeouts(&circ_times);
 }
 
index c04f2aa022d3496c0eeadf03d705a25a595940e6..49005065001f99a548cf4e0a179ac224f071f0f3 100644 (file)
@@ -673,6 +673,9 @@ config_free_all(void)
   tor_free(torrc_defaults_fname);
   tor_free(the_tor_version);
   tor_free(global_dirfrontpagecontents);
+
+  tor_free(the_short_tor_version);
+  tor_free(the_tor_version);
 }
 
 /** Make <b>address</b> -- a piece of information related to our operation as
index d64c676bfb2c4cda6624188722a447c9994ae3d6..ec39f547402efbac18d5f46b14454442bd63b999 100644 (file)
@@ -4289,6 +4289,9 @@ connection_free_all(void)
     outgoing_addrs = NULL;
   }
 
+  tor_free(last_interface_ipv4);
+  tor_free(last_interface_ipv6);
+
 #ifdef USE_BUFFEREVENTS
   if (global_rate_limit)
     bufferevent_rate_limit_group_free(global_rate_limit);
index 74bb6967259d942c405c1594f025796d3d69f6f9..ea08faa338378a508762014dc2f876666a27490b 100644 (file)
@@ -2477,6 +2477,10 @@ tor_free_all(int postfork)
   smartlist_free(closeable_connection_lst);
   smartlist_free(active_linked_connection_lst);
   periodic_timer_free(second_timer);
+#ifndef USE_BUFFEREVENTS
+  periodic_timer_free(refill_timer);
+#endif
+
   if (!postfork) {
     release_lockfile();
   }
index f9c0b5bebbc4ce840812018e60606d0be0ac08fe..b9e7be1fcaa1c45e925986545ea43d8ad7259257 100644 (file)
@@ -3003,6 +3003,8 @@ rep_hist_free_all(void)
   digestmap_free(history_map, free_or_history);
   tor_free(read_array);
   tor_free(write_array);
+  tor_free(dir_read_array);
+  tor_free(dir_write_array);
   tor_free(last_stability_doc);
   tor_free(exit_bytes_read);
   tor_free(exit_bytes_written);