]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Author: Stefan Fritsch <sf@sfritsch.de>
authorAmos Jeffries <amosjeffries@squid-cache.org>
Sat, 23 Oct 2010 13:44:56 +0000 (07:44 -0600)
committerAmos Jeffries <amosjeffries@squid-cache.org>
Sat, 23 Oct 2010 13:44:56 +0000 (07:44 -0600)
Bug 3073: tunnelStateFree memory leak of host member

src/tunnel.cc

index 60db83e2db7e0cb68f0f91ad90e79fe29ef6aefc..052ec9f050c70e92ccb8d79dafbd39465f7f819f 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;
 }
@@ -758,7 +758,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());
 
     if (fs->_peer == NULL) {
         tunnelState->port = request->port;