Browse Source

Fix the log-severities memory-leak in tor-resolve.c

Also, rename the variable to have a more manageable name, and make
its scope more clear.

Fixes bug 24582; bugfix on 0.2.1.1-alpha.
Nick Mathewson 6 years ago
parent
commit
e18840f619
2 changed files with 10 additions and 4 deletions
  1. 4 0
      changes/bug24582
  2. 6 4
      src/tools/tor-resolve.c

+ 4 - 0
changes/bug24582

@@ -0,0 +1,4 @@
+  o Minor bugfixes (debugging, memory leaks):
+    - Fix a harmless memory leak in tor-resolve. Fixes bug 24582;
+      bugfix on 0.2.1.1-alpha.
+

+ 6 - 4
src/tools/tor-resolve.c

@@ -347,7 +347,6 @@ main(int argc, char **argv)
   int n_args;
   tor_addr_t result;
   char *result_hostname = NULL;
-  log_severity_list_t *s = tor_malloc_zero(sizeof(log_severity_list_t));
 
   init_logging(1);
   sandbox_disable_getaddrinfo_cache();
@@ -398,11 +397,14 @@ main(int argc, char **argv)
     usage();
   }
 
+  log_severity_list_t *severities =
+    tor_malloc_zero(sizeof(log_severity_list_t));
   if (isVerbose)
-    set_log_severity_config(LOG_DEBUG, LOG_ERR, s);
+    set_log_severity_config(LOG_DEBUG, LOG_ERR, severities);
   else
-    set_log_severity_config(LOG_WARN, LOG_ERR, s);
-  add_stream_log(s, "<stderr>", fileno(stderr));
+    set_log_severity_config(LOG_WARN, LOG_ERR, severities);
+  add_stream_log(severities, "<stderr>", fileno(stderr));
+  tor_free(severities);
 
   if (n_args == 1) {
     log_debug(LD_CONFIG, "defaulting to localhost");