Jeff Barrow wrote:
>I'm not sure that's much better... now the process dies when it gets
>invalid requests.  (Or is it a memory problem on our system? signal 11...)
>Jun 30 06:22:54 wwwcache squid[3733]: parseHttpRequest: Unsupported method
>'duh^M ^M '
>Jun 30 06:22:54 wwwcache squid[3733]: clientReadRequest: FD 16 Invalid
>Request
>Jun 30 06:22:54 wwwcache squid[3733]: ctx: enter level  0:
>'error:unsupported-request-method'
>Jun 30 06:22:54 wwwcache squid[3713]: Squid Parent: child process 3733
>exited due to signal 11
That's after applying the patch I supplied?
Hmmm..., it seems I was a bit too eager to patch it there.  Closer
investigation reveals that inbuf *is* being released most of the
time by the calling routine.  As far as I can tell, there are still
two leaks left, but they only occur if you have IPF_TRANSPARENT turned
on.
Try reversing the previous patch, and applying the following:
diff -U 2 -b -B -p -r -d --horizon-lines=2 -X /usr/local/etc/xdiff squid-2.2.STABLE3/src/client_side.c squid-B2/src/client_side.c
--- squid-2.2.STABLE3/src/client_side.c	Mon May 10 18:00:40 1999
+++ squid-B2/src/client_side.c	Wed Jun 30 09:39:19 1999
@@ -2073,5 +2123,6 @@ parseHttpRequest(ConnStateData * conn, m
                 debug(50, 1) ("parseHttpRequest: NAT open failed: %s\n",
                     xstrerror());
-		return parseHttpRequestAbort(conn, "error:nat-open-failed");
+		http = parseHttpRequestAbort(conn, "error:nat-open-failed");
+		goto ret;
             }
             if (ioctl(natfd, SIOCGNATL, &natLookup) < 0) {
@@ -2080,5 +2131,6 @@ parseHttpRequest(ConnStateData * conn, m
                     close(natfd);
                     natfd = -1;
-		    return parseHttpRequestAbort(conn, "error:nat-lookup-failed");
+		    http = parseHttpRequestAbort(conn, "error:nat-lookup-failed");
+		    goto ret;
                 } else
                     snprintf(http->uri, url_sz, "http://%s:%d%s",
@@ -2119,6 +2171,7 @@ parseHttpRequest(ConnStateData * conn, m
     if (free_request)
         safe_free(url);
-    xfree(inbuf);
     *status = 1;
+ret:
+    xfree(inbuf);
     return http;
 }
-- 
Sincerely,                                                          srb@cuci.nl
           Stephen R. van den Berg (AKA BuGless).
"My name is Smith, the P is not pronounced."
Received on Tue Jul 29 2003 - 13:15:59 MDT
This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:12:15 MST