]> 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 02:31:15 +0000 (20:31 -0600)
committerAmos Jeffries <squid3@treenet.co.nz>
Sun, 19 May 2013 02:31:15 +0000 (20:31 -0600)
CBDATA_CLASS2 classes must be deleted using C++ delete, not cbdataFree().
cbdataFree() does not call the class destructor.

src/helper.cc

index 4fb75fb90285c290b554d419d2f9bad0566ef708..b020a2c1423236b60ee3e6afd17ddb0c810e5c45 100644 (file)
@@ -765,7 +765,7 @@ helperServerFree(helper_server *srv)
     safe_free(srv->requests);
 
     cbdataReferenceDone(srv->parent);
-    cbdataFree(srv);
+    delete srv;
 }
 
 static void
@@ -831,7 +831,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