From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5619 invoked from network); 26 Jun 2000 08:19:33 -0000 Received: from sunsite.auc.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 26 Jun 2000 08:19:33 -0000 Received: (qmail 23286 invoked by alias); 26 Jun 2000 08:19:01 -0000 Mailing-List: contact zsh-workers-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 12067 Received: (qmail 23279 invoked from network); 26 Jun 2000 08:19:00 -0000 Date: Mon, 26 Jun 2000 10:18:58 +0200 (MET DST) Message-Id: <200006260818.KAA18695@beta.informatik.hu-berlin.de> From: Sven Wischnowsky To: zsh-workers@sunsite.auc.dk In-reply-to: Felix Rosencrantz's message of Sun, 25 Jun 2000 23:45:37 -0700 (PDT) Subject: Re: Possible zle_tricky.c memory leak & history typo Felix Rosencrantz wrote: > There are several typos in the latest changes to the history completers. > The last line of the completer looks like: > (( $compstate[namtches] )) This was only in _history, not in _h_c_w. Several, you say,... what else? > I don't think the "$" sign is needed, (_history_complete_word, also has this > problem then.) Also, the "am" need to be switched in "namtches". The $ isn't really needed, but it doesn't do any harm either. > I've been tight on time, otherwise I would send the patch or make the change > myself. (if no one fixes this, i'll fix it when i get time.) > > > Also, there was (and might still be) a memory leak in the version of > zle_tricky.c from June 9th. Below is the stack trace where the memory is > allocated. (The line numbers are from the june 10th version. Sorry not to use > the current version). I think the bug might be at line 607, where s is not > freed before we return. > zalloc [mem.c:453] > ztrdup [mem.c:530] > get_comp_string [zle_tricky.c:1595] > docomplete [zle_tricky.c:586] > expandorcomplete [zle_tricky.c:282] s and qword. Whew. That must be one of the oldest bugs in the shell. But how did you trigger that? Bye Sven Index: Completion/Core/_history =================================================================== RCS file: /cvsroot/zsh/zsh/Completion/Core/_history,v retrieving revision 1.4 diff -u -r1.4 _history --- Completion/Core/_history 2000/06/22 08:42:36 1.4 +++ Completion/Core/_history 2000/06/26 08:18:18 @@ -57,4 +57,4 @@ (( beg+=slice )) done -(( $compstate[namtches] )) +(( $compstate[nmatches] )) Index: Src/Zle/zle_tricky.c =================================================================== RCS file: /cvsroot/zsh/zsh/Src/Zle/zle_tricky.c,v retrieving revision 1.16 diff -u -r1.16 zle_tricky.c --- Src/Zle/zle_tricky.c 2000/06/19 09:55:32 1.16 +++ Src/Zle/zle_tricky.c 2000/06/26 08:18:19 @@ -604,6 +604,8 @@ ll = strlen((char *) line); cs = ocs; unmetafy_line(); + zsfree(s); + zsfree(qword); return 1; } ocs = cs; -- Sven Wischnowsky wischnow@informatik.hu-berlin.de