Andres Kroonmaa wrote:
>> > doesn't occur when mempools are disabled.
>> > Seems that we call xfree where we should call memFree.
>> > Looks like I can reproduce it quite reliably with requests
>> > ftp://username:password@ftp.site.com/
> I used --enable-xmalloc-debug with empty cache_swap. Did its job
> very well.
I hate to say it, but I squashed these leaks in my code more than two
years ago (which proves that you didn't look at my patch 8-).
>--- ftp.c Sat Jul 1 14:01:52 2000
>+++ ftp.c Mon Nov 13 22:50:11 2000
>@@ -1477,7 +1477,7 @@
> w = ftpState->pathcomps;
> ftpState->filepath = w->key;
> ftpState->pathcomps = w->next;
>- xfree(w);
>+ memFree(w,MEM_WORDLIST);
> /* Check if we are to CWD or RETR */
> if (ftpState->pathcomps != NULL || ftpState->flags.isdir) {
> ftpSendCwd(ftpState);
> I think this is pretty much it. bug present in HEAD.
From my old diffs:
diff -U 2 -b -B -p -r -d --horizon-lines=2 -X /usr/local/etc/xdiff squid-2.2.STA
BLE3/src/ftp.c squid-B2/src/ftp.c
--- squid-2.2.STABLE3/src/ftp.c Tue May 11 22:34:36 1999
+++ squid-B2/src/ftp.c Sun Jun 27 04:52:54 1999
@@ -1290,5 +1297,6 @@ ftpHandleControlReply(FtpStateData * ftp
safe_free(ftpState->ctrl.last_reply);
ftpState->ctrl.last_reply = (*W)->key;
- safe_free(*W);
+ memFree(*W, MEM_WORDLIST);
+ *W = 0;
debug(9, 8) ("ftpReadControlReply: state=%d, code=%d\n", ftpState->state,
ftpState->ctrl.replycode);
@@ -1460,5 +1468,5 @@ ftpTraverseDirectory(FtpStateData * ftpS
ftpState->filepath = w->key;
ftpState->pathcomps = w->next;
- xfree(w);
+ memFree(w, MEM_WORDLIST);
/* Check if we are to CWD or RETR */
if (ftpState->pathcomps != NULL || ftpState->flags.isdir) {
So it appears that you might have missed another spot still.
I didn't compare it with the current code yet.
--
Sincerely, srb@cuci.nl
Stephen R. van den Berg (AKA BuGless).
I'm sorry. The number you have reached is imaginary.
Please rotate your phone 90 degrees and try again.
Received on Mon Nov 20 2000 - 00:51:07 MST
This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:12:59 MST