Browse Source

Merge remote-tracking branch 'public/bug5916'

Nick Mathewson 13 years ago
parent
commit
9e53cdca86
2 changed files with 9 additions and 1 deletions
  1. 6 0
      changes/bug5916
  2. 3 1
      src/or/dns.c

+ 6 - 0
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).

+ 3 - 1
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);