]> git.ipfire.org Git - thirdparty/squid.git/commit
Bug 1566 (also Bug 975): esi:include aborts with lock assert
authorAmos Jeffries <amosjeffries@squid-cache.org>
Fri, 20 Jun 2008 12:46:59 +0000 (06:46 -0600)
committerAmos Jeffries <amosjeffries@squid-cache.org>
Fri, 20 Jun 2008 12:46:59 +0000 (06:46 -0600)
commit65f10662620df6c0d10aa1a02efc5d8ddededa27
tree88598993cc67f3b00d506929e3d49cdbe5a86ebb
parent6045f51832ee340d09d4c439cabf4f06636c8803
Bug 1566 (also Bug 975): esi:include aborts with lock assert

Proper fix requires callers inserting HTTPMSGLOCK() when the base rep
pointers are set, and HTTPMSGUNLOCK() macros when done. The lock/unlock
mechanism will take care of garbage collection in the background if used
properly.

The function this patches has no need to perform any of that itself
either way (it's a * not a ** ptr parameter so _cannot_ be safely deleted).

I'm cementing the temporary fix for 975 and 1566 as a permanent one and
documenting the correct requirements of the functions callers to prevent
memory leaks.

If leaks are found it will be separate bugs in the calling code related
to bad refcounting.
src/ESIInclude.cc