summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2012-05-30 11:14:41 -0400
committerNick Mathewson <nickm@torproject.org>2012-05-30 11:14:41 -0400
commit9e53cdca86483942fe0e836fb1fa6942a9e883a7 (patch)
treef0debd22054a5df82e435ae3c78ec32bbd34f209
parent5e805ff1f2401fa28a463659151ef81b479c66ee (diff)
parent4c4dd505be30de996659f9d3496fc88956fcfbf6 (diff)
downloadtor-9e53cdca86483942fe0e836fb1fa6942a9e883a7.tar.gz
tor-9e53cdca86483942fe0e836fb1fa6942a9e883a7.zip
Merge remote-tracking branch 'public/bug5916'
-rw-r--r--changes/bug59166
-rw-r--r--src/or/dns.c4
2 files changed, 9 insertions, 1 deletions
diff --git a/changes/bug5916 b/changes/bug5916
new file mode 100644
index 0000000000..0b2ea5df44
--- /dev/null
+++ b/changes/bug5916
@@ -0,0 +1,6 @@
+ o Minor bugfixes:
+ - Fix a memory leak when trying to launch a DNS request when the
+ network is disabled or the nameservers are unconfigurable. Fix
+ for bug 5916; bugfix on Tor 0.1.2.1-alpha (for the
+ unconfigurable namesrever case) and on 0.2.3.9-alpha (for the
+ DisableNetwork case).
diff --git a/src/or/dns.c b/src/or/dns.c
index 2b7d3e3506..b349f02f68 100644
--- a/src/or/dns.c
+++ b/src/or/dns.c
@@ -1389,7 +1389,7 @@ evdns_callback(int result, char type, int count, int ttl, void *addresses,
static int
launch_resolve(edge_connection_t *exitconn)
{
- char *addr = tor_strdup(exitconn->_base.address);
+ char *addr;
struct evdns_request *req = NULL;
tor_addr_t a;
int r;
@@ -1408,6 +1408,8 @@ launch_resolve(edge_connection_t *exitconn)
}
}
+ addr = tor_strdup(exitconn->_base.address);
+
r = tor_addr_parse_PTR_name(
&a, exitconn->_base.address, AF_UNSPEC, 0);