]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Fix a memory leak of one address string per DNSPort request.
authorNick Mathewson <nickm@torproject.org>
Thu, 18 Dec 2008 15:00:27 +0000 (15:00 +0000)
committerNick Mathewson <nickm@torproject.org>
Thu, 18 Dec 2008 15:00:27 +0000 (15:00 +0000)
svn:r17681

src/or/connection_edge.c

index 8e2edbd58f5f4a43e5be2d62bb4aa557095684a7..3e2a43917e73973809d53bda301d2af299cd752f 100644 (file)
@@ -2198,6 +2198,7 @@ connection_ap_handshake_send_resolve(edge_connection_t *ap_conn)
                            string_addr, payload_len) < 0)
     return -1; /* circuit is closed, don't continue */
 
+  tor_free(ap_conn->_base.address); /* Maybe already set by dnsserv. */
   ap_conn->_base.address = tor_strdup("(Tor_internal)");
   ap_conn->_base.state = AP_CONN_STATE_RESOLVE_WAIT;
   log_info(LD_APP,"Address sent for resolve, ap socket %d, n_circ_id %d",
@@ -2352,7 +2353,7 @@ connection_ap_handshake_socks_resolved(edge_connection_t *conn,
       conn->socks_request->has_finished = 1;
       return;
     }
-    /* XXXX020 are we freeing conn anywhere? */
+    /* We shouldn't need to free conn here; it gets marked by the caller. */
   }
 
   if (conn->socks_request->socks_version == 4) {