Browse Source

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 years ago
parent
commit
5db94adac2
1 changed files with 10 additions and 3 deletions
  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. */