------------------------------------------------------------ revno: 12522 revision-id: squid3@treenet.co.nz-20130329055917-dob07pefoe06fd8t parent: squid3@treenet.co.nz-20130329055755-8y9bsm4utwdlcm68 committer: Amos Jeffries branch nick: 3.3 timestamp: Thu 2013-03-28 23:59:17 -0600 message: Fix memory leaks in ConnStateData pinning ConnStateData does not cleanup any of the pinning child structure fields. This results in a leak of pinned host and peer details. Run the full un-pin cleanup operation from ConnStateData::swanSong in order to clean up all the pinning state instead of just the release the Comm::Connection. ------------------------------------------------------------ # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: squid3@treenet.co.nz-20130329055917-dob07pefoe06fd8t # target_branch: http://bzr.squid-cache.org/bzr/squid3/3.3 # testament_sha1: a4205b065d1c83f9518adb7a1ea9f0abeee3c16f # timestamp: 2013-03-29 06:00:25 +0000 # source_branch: http://bzr.squid-cache.org/bzr/squid3/3.3 # base_revision_id: squid3@treenet.co.nz-20130329055755-\ # 8y9bsm4utwdlcm68 # # Begin patch === modified file 'src/client_side.cc' --- src/client_side.cc 2013-03-14 11:32:19 +0000 +++ src/client_side.cc 2013-03-29 05:59:17 +0000 @@ -793,9 +793,7 @@ } #endif - if (Comm::IsConnOpen(pinning.serverConnection)) - pinning.serverConnection->close(); - pinning.serverConnection = NULL; + unpinConnection(); if (Comm::IsConnOpen(clientConnection)) clientConnection->close();