]> git.ipfire.org Git - thirdparty/squid.git/commit
author: Alex Rousskov <rousskov@measurement-factory.com>
authorChristos Tsantilas <chtsanti@users.sourceforge.net>
Fri, 9 May 2014 15:19:40 +0000 (18:19 +0300)
committerChristos Tsantilas <chtsanti@users.sourceforge.net>
Fri, 9 May 2014 15:19:40 +0000 (18:19 +0300)
commit28b58ffc2e0aff69c024a842f26bdf2144c30b01
tree66486d7d0841c00aa548e602915a0645a5df68c3
parent8ed213368b7a9bb61888e38dcae787d5cec728c0
author: Alex Rousskov <rousskov@measurement-factory.com>
Avoid on-exit crashes when adaptation is enabled.

After trunk r13269 (Vector refactor) destroyed vector objects still have
positive item counts. This exposes use-after-delete bugs. In this particular
case, global adaptation rule/group/service arrays are destructed by global
destruction sequence first and then again by Adaptation::*::TheConfig objects
destructors.

This change avoiding static destruction order dependencies by storing those
global adaptation arrays on heap.
src/adaptation/AccessRule.cc
src/adaptation/Service.cc
src/adaptation/ServiceGroups.cc