浏览代码

Merge remote-tracking branch 'arma/bug7029'

Nick Mathewson 11 年之前
父节点
当前提交
0d946e1773
共有 6 个文件被更改,包括 16 次插入0 次删除
  1. 3 0
      changes/bug7029
  2. 1 0
      src/or/circuitbuild.c
  3. 3 0
      src/or/config.c
  4. 3 0
      src/or/connection.c
  5. 4 0
      src/or/main.c
  6. 2 0
      src/or/rephist.c

+ 3 - 0
changes/bug7029

@@ -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.

+ 1 - 0
src/or/circuitbuild.c

@@ -5897,5 +5897,6 @@ entry_guards_free_all(void)
   clear_bridge_list();
   smartlist_free(bridge_list);
   bridge_list = NULL;
+  circuit_build_times_free_timeouts(&circ_times);
 }
 

+ 3 - 0
src/or/config.c

@@ -676,6 +676,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

+ 3 - 0
src/or/connection.c

@@ -4327,6 +4327,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);

+ 4 - 0
src/or/main.c

@@ -2503,6 +2503,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();
   }

+ 2 - 0
src/or/rephist.c

@@ -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);