Forráskód Böngészése

Fix a memory leak in tor-resolve

Resolves bug 14050
Nick Mathewson 9 éve
szülő
commit
6e689aed75
3 módosított fájl, 10 hozzáadás és 1 törlés
  1. 2 0
      ChangeLog
  2. 7 0
      src/common/sandbox.c
  3. 1 1
      src/common/sandbox.h

+ 2 - 0
ChangeLog

@@ -145,6 +145,8 @@ Changes in version 0.2.6.2-alpha - 2014-12-??
     - Make transparent proxy support work along with the seccomp2
       sandbox. Fixes part of bug 13808; bugfix on 0.2.5.1-alpha. Patch
       by Francisco Blas Izquierdo Riera.
+    - Fix a memory leak in tor-resolve when running with the sandbox
+      enabled. Fixes bug 14050; bugfix on 0.2.5.9-rc.
 
   o Minor bugfixes (logging):
     - Downgrade warnings about RSA signature failures to info log level.

+ 7 - 0
src/common/sandbox.c

@@ -1335,6 +1335,13 @@ sandbox_disable_getaddrinfo_cache(void)
   sandbox_getaddrinfo_cache_disabled = 1;
 }
 
+void
+sandbox_freeaddrinfo(struct addrinfo *ai)
+{
+  if (sandbox_getaddrinfo_cache_disabled)
+    freeaddrinfo(ai);
+}
+
 int
 sandbox_getaddrinfo(const char *name, const char *servname,
                     const struct addrinfo *hints,

+ 1 - 1
src/common/sandbox.h

@@ -115,7 +115,7 @@ struct addrinfo;
 int sandbox_getaddrinfo(const char *name, const char *servname,
                         const struct addrinfo *hints,
                         struct addrinfo **res);
-#define sandbox_freeaddrinfo(addrinfo) ((void)0)
+void sandbox_freeaddrinfo(struct addrinfo *addrinfo);
 void sandbox_free_getaddrinfo_cache(void);
 #else
 #define sandbox_getaddrinfo(name, servname, hints, res)  \