]> git.ipfire.org Git - thirdparty/squid.git/commit
Do not leak Downloader-related objects.
authorChristos Tsantilas <chtsanti@users.sourceforge.net>
Fri, 7 Oct 2016 08:16:42 +0000 (11:16 +0300)
committerChristos Tsantilas <chtsanti@users.sourceforge.net>
Fri, 7 Oct 2016 08:16:42 +0000 (11:16 +0300)
commit0860d5b6e94336d24c5c433088245e0c0351c704
tree5e74552819141679397ba214f9507768d2a29349
parent81e019a0db76b61682f57ca88a6109c9da0c75a7
Do not leak Downloader-related objects.

The downloadFinished() method was responsible for the job clean up, but
that asynchronous method is not called when the Downloader job quits
before the call can be fired. This early termination happens when, for
example, the job finishes while still inside the start() method (e.g., a
memory hit with no async ACLs to check). It also happens if an exception
is thrown while the job is running under async call protections.

Ensure the cleanup happens regardless of the job path to finish.

This is a Measurement Factory project.
src/Downloader.cc
src/Downloader.h