From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15631 invoked from network); 1 Oct 2004 16:56:31 -0000 Received: from news.dotsrc.org (HELO a.mx.sunsite.dk) (130.225.247.88) by ns1.primenet.com.au with SMTP; 1 Oct 2004 16:56:31 -0000 Received: (qmail 49026 invoked from network); 1 Oct 2004 16:56:25 -0000 Received: from sunsite.dk (130.225.247.90) by a.mx.sunsite.dk with SMTP; 1 Oct 2004 16:56:25 -0000 Received: (qmail 27850 invoked by alias); 1 Oct 2004 16:56:22 -0000 Mailing-List: contact zsh-workers-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 20432 Received: (qmail 27834 invoked from network); 1 Oct 2004 16:56:21 -0000 Received: from news.dotsrc.org (HELO a.mx.sunsite.dk) (130.225.247.88) by sunsite.dk with SMTP; 1 Oct 2004 16:56:21 -0000 Received: (qmail 48710 invoked from network); 1 Oct 2004 16:56:21 -0000 Received: from moonbase.zanshin.com (64.84.47.139) by a.mx.sunsite.dk with SMTP; 1 Oct 2004 16:56:19 -0000 Received: from toltec.zanshin.com (toltec.zanshin.com [64.84.47.166]) by moonbase.zanshin.com (8.13.1/8.13.1) with ESMTP id i91GuDHK031541; Fri, 1 Oct 2004 09:56:14 -0700 Date: Fri, 1 Oct 2004 09:56:13 -0700 (PDT) From: Bart Schaefer Reply-To: zsh-workers@sunsite.dk To: Stephane Chazelas cc: Zsh hackers list Subject: Re: [bug] type -m '^foo' In-Reply-To: <20041001145038.GB1772@frhdtmp102861.morse.corp.wan> Message-ID: References: <20041001145038.GB1772@frhdtmp102861.morse.corp.wan> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Spam-Checker-Version: SpamAssassin 2.63 on a.mx.sunsite.dk X-Spam-Level: X-Spam-Status: No, hits=-0.0 required=6.0 tests=BAYES_44 autolearn=no version=2.63 X-Spam-Hits: -0.0 On Fri, 1 Oct 2004, Stephane Chazelas wrote: > With latest CVS version as well as 4.2.0 > > $ type -m '(^a)' > > segfaults. This fixes the crash, but it would be better if pattry() could be rewritten so as not to need to modify the string in place. Index: Src/hashtable.c =================================================================== RCS file: /extra/cvsroot/zsh/zsh-4.0/Src/hashtable.c,v retrieving revision 1.10 diff -c -r1.10 hashtable.c --- Src/hashtable.c 22 Jun 2004 07:53:05 -0000 1.10 +++ Src/hashtable.c 1 Oct 2004 16:53:31 -0000 @@ -433,7 +433,7 @@ HashNode hn = st.u.u; st.u.u = st.u.u->next; if ((hn->flags & flags1) + !flags1 && !(hn->flags & flags2) && - pattry(pprog, hn->nam)) { + pattry(pprog, dupstring(hn->nam))) { scanfunc(hn, scanflags); match++; }