summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2014-12-30 12:35:01 -0500
committerNick Mathewson <nickm@torproject.org>2014-12-30 12:35:01 -0500
commit6e689aed756fb3d96fa70e9138aedc93be8f35de (patch)
tree4494619538bc0075a62a03da535c0da390169742 /src
parentb3b840443ddbf126c5a9c25533986e9b9ea33585 (diff)
downloadtor-6e689aed756fb3d96fa70e9138aedc93be8f35de.tar.gz
tor-6e689aed756fb3d96fa70e9138aedc93be8f35de.zip
Fix a memory leak in tor-resolve
Resolves bug 14050
Diffstat (limited to 'src')
-rw-r--r--src/common/sandbox.c7
-rw-r--r--src/common/sandbox.h2
2 files changed, 8 insertions, 1 deletions
diff --git a/src/common/sandbox.c b/src/common/sandbox.c
index b1c2a09f14..a06d38608f 100644
--- a/src/common/sandbox.c
+++ b/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,
diff --git a/src/common/sandbox.h b/src/common/sandbox.h
index ad001865a7..f1c99ac02d 100644
--- a/src/common/sandbox.h
+++ b/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) \