]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Author: Stefan Fritsch <sf@sfritsch.de>
authorAmos Jeffries <squid3@treenet.co.nz>
Mon, 4 Oct 2010 21:20:59 +0000 (10:20 +1300)
committerAmos Jeffries <squid3@treenet.co.nz>
Mon, 4 Oct 2010 21:20:59 +0000 (10:20 +1300)
Bug 3073: tunnelStateFree memory leak of host member

src/tunnel.cc

index 2f9223d3c1268d69a867dc53ddbe97b0119d161f..a2bee91152b99c234470e5c18aa358255ede8e25 100644 (file)
@@ -175,7 +175,7 @@ tunnelStateFree(TunnelStateData * tunnelState)
     assert(tunnelState->noConnections());
     safe_free(tunnelState->url);
     FwdState::serversFree(&tunnelState->servers);
-    tunnelState->host = NULL;
+    safe_free(tunnelState->host);
     HTTPMSGUNLOCK(tunnelState->request);
     delete tunnelState;
 }
@@ -760,7 +760,7 @@ tunnelPeerSelectComplete(FwdServer * fs, void *data)
     }
 
     tunnelState->servers = fs;
-    tunnelState->host = fs->_peer ? fs->_peer->host : xstrdup(request->GetHost());
+    tunnelState->host = fs->_peer ? xstrdup(fs->_peer->host) : xstrdup(request->GetHost());
     request->peer_host = fs->_peer ? fs->_peer->host : NULL;
 
     if (fs->_peer == NULL) {