]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Avoid Comm::Connection leaks when helpers are reconfigured or otherwise closed.
authorAlex Rousskov <rousskov@measurement-factory.com>
Sun, 19 May 2013 03:35:34 +0000 (21:35 -0600)
committerAmos Jeffries <squid3@treenet.co.nz>
Sun, 19 May 2013 03:35:34 +0000 (21:35 -0600)
CBDATA_CLASS2 classes must be deleted using C++ delete, not cbdataFree().
cbdataFree() does not call the class destructor.

src/helper.cc

index f554ff64787aef4652df3f4ff5ee1ca9cba4defa..0f3e0415b34282ecd90e2117641067842761e330 100644 (file)
@@ -750,7 +750,7 @@ helperServerFree(helper_server *srv)
     safe_free(srv->requests);
 
     cbdataReferenceDone(srv->parent);
-    cbdataFree(srv);
+    delete srv;
 }
 
 static void
@@ -812,7 +812,7 @@ helperStatefulServerFree(helper_stateful_server *srv)
 
     cbdataReferenceDone(srv->parent);
 
-    cbdataFree(srv);
+    delete srv;
 }
 
 /// Calls back with a pointer to the buffer with the helper output