]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Avoid memory leaks when submitting a NULL helper.
authorrousskov <>
Fri, 4 May 2007 21:40:12 +0000 (21:40 +0000)
committerrousskov <>
Fri, 4 May 2007 21:40:12 +0000 (21:40 +0000)
src/helper.cc

index beb2ffb5a0f118ddd4e0d51c1e42f994315a5028..b24e698d2a9addd3760ff8570a870e9ca1d3f31d 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: helper.cc,v 1.81 2007/04/30 16:56:09 wessels Exp $
+ * $Id: helper.cc,v 1.82 2007/05/04 15:40:12 rousskov Exp $
  *
  * DEBUG: section 84    Helper process maintenance
  * AUTHOR: Harvest Derived?
@@ -283,15 +283,15 @@ helperStatefulOpenServers(statefulhelper * hlp)
 void
 helperSubmit(helper * hlp, const char *buf, HLPCB * callback, void *data)
 {
-    helper_request *r = new helper_request;
-    helper_server *srv;
-
     if (hlp == NULL) {
         debugs(84, 3, "helperSubmit: hlp == NULL");
         callback(data, NULL);
         return;
     }
 
+    helper_request *r = new helper_request;
+    helper_server *srv;
+
     r->callback = callback;
     r->data = cbdataReference(data);
     r->buf = xstrdup(buf);
@@ -310,15 +310,15 @@ helperSubmit(helper * hlp, const char *buf, HLPCB * callback, void *data)
 void
 helperStatefulSubmit(statefulhelper * hlp, const char *buf, HLPSCB * callback, void *data, helper_stateful_server * lastserver)
 {
-    helper_stateful_request *r = new helper_stateful_request;
-    helper_stateful_server *srv;
-
     if (hlp == NULL) {
         debugs(84, 3, "helperStatefulSubmit: hlp == NULL");
         callback(data, 0, NULL);
         return;
     }
 
+    helper_stateful_request *r = new helper_stateful_request;
+    helper_stateful_server *srv;
+
     r->callback = callback;
     r->data = cbdataReference(data);
 
@@ -368,15 +368,15 @@ helper_stateful_server *
 helperStatefulDefer(statefulhelper * hlp)
 /* find and add a deferred request to a server */
 {
-    dlink_node *n;
-    helper_stateful_server *srv = NULL, *rv = NULL;
-
     if (hlp == NULL)
     {
         debugs(84, 3, "helperStatefulDefer: hlp == NULL");
         return NULL;
     }
 
+    dlink_node *n;
+    helper_stateful_server *srv = NULL, *rv = NULL;
+
     debugs(84, 5, "helperStatefulDefer: Running servers " << hlp->n_running << ".");
 
     if (hlp->n_running == 0)