浏览代码

Fix a pair of memory leaks in tor_cleanup()

Spotted by coverity scan as 1426749 and 1426750

Bug not in any released Tor.
Nick Mathewson 6 年之前
父节点
当前提交
5db94adac2
共有 1 个文件被更改,包括 10 次插入3 次删除
  1. 10 3
      src/or/main.c

+ 10 - 3
src/or/main.c

@@ -3504,10 +3504,17 @@ tor_cleanup(void)
     /* Remove control port file */
     tor_remove_file(options->ControlPortWriteToFile);
     /* Remove cookie authentication file */
-    tor_remove_file(get_controller_cookie_file_name());
+    {
+      char *cookie_fname = get_controller_cookie_file_name();
+      tor_remove_file(cookie_fname);
+      tor_free(cookie_fname);
+    }
     /* Remove Extended ORPort cookie authentication file */
-    tor_remove_file(get_ext_or_auth_cookie_file_name());
-
+    {
+      char *cookie_fname = get_ext_or_auth_cookie_file_name();
+      tor_remove_file(cookie_fname);
+      tor_free(cookie_fname);
+    }
     if (accounting_is_enabled(options))
       accounting_record_bandwidth_usage(now, get_or_state());
     or_state_mark_dirty(get_or_state(), 0); /* force an immediate save. */