From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16643 invoked by alias); 6 Jan 2015 10:24:41 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: X-Seq: 34131 Received: (qmail 15145 invoked from network); 6 Jan 2015 10:24:30 -0000 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_HI, SPF_HELO_PASS autolearn=ham version=3.3.2 X-AuditID: cbfec7f4-b7f126d000001e9a-a6-54abb5807aff Date: Tue, 06 Jan 2015 10:14:16 +0000 From: Peter Stephenson To: zsh-workers@zsh.org Subject: Re: PATCH 15/17: Don't leak ifs stuff Message-id: <20150106101416.21b69198@pwslap01u.europe.root.pri> In-reply-to: <1420521949-30483-16-git-send-email-mikachu@gmail.com> References: <1420521949-30483-1-git-send-email-mikachu@gmail.com> <1420521949-30483-16-git-send-email-mikachu@gmail.com> Organization: Samsung Cambridge Solution Centre X-Mailer: Claws Mail 3.7.9 (GTK+ 2.22.0; i386-redhat-linux-gnu) MIME-version: 1.0 Content-type: text/plain; charset=US-ASCII Content-transfer-encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrMLMWRmVeSWpSXmKPExsVy+t/xq7oNW1eHGJz4YGVxsPkhkwOjx6qD H5gCGKO4bFJSczLLUov07RK4Mq51tjEXfOaqmP3/D3MD4w2OLkYODgkBE4mD2wW7GDmBTDGJ C/fWs3UxcnEICSxllGiceIMZJCEksIRJ4vn+FAh7G6NE/0R3EJtFQFXizeHzLCA2m4ChxNRN sxlBbBEBcYmzayHiwgJ6EpueXmQCsXkF7CWmT3vOCmJzCjhLfHiziRFiZpXE9LmPweL8AvoS V/9+YoI4yF5i5pUzjBC9ghI/Jt8Dm8ksoCWxeVsTK4QtL7F5zVuoO9UlbtzdzT6BUWgWkpZZ SFpmIWlZwMi8ilE0tTS5oDgpPddQrzgxt7g0L10vOT93EyMkYL/sYFx8zOoQowAHoxIP74f2 1SFCrIllxZW5hxglOJiVRHh3TAcK8aYkVlalFuXHF5XmpBYfYmTi4JRqYFyVzvlr974tm5U3 7LzWPc32dJOqw6KYlA1y1Q6KLB8sdBvyPf2jnSRPJUiKOEQ0nOpc+3q+QsHOiorjTF+WKX9i FfXxXr798PnX92ZvzP2y6qnZl2MXu5yqGm6mlLxc8ijj6Yr45c9eiAfGeBX8r2D8FH/1zdQs E9e1qzfMbX28ybuLZ4KksIQSS3FGoqEWc1FxIgDsjRenNgIAAA== On Tue, 6 Jan 2015 06:25:47 +0100 Mikael Magnusson wrote: > Found by Coverity (Issue 1255785). > --- > Src/utils.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/Src/utils.c b/Src/utils.c > index 390f513..72a0c9c 100644 > --- a/Src/utils.c > +++ b/Src/utils.c > @@ -3543,7 +3543,7 @@ inittyptab(void) > for (t0 = (int)STOUC(Snull); t0 <= (int)STOUC(Nularg); t0++) > typtab[t0] |= ITOK | IMETA | INULL; > for (s = ifs ? ifs : EMULATION(EMULATE_KSH|EMULATE_SH) ? > - ztrdup(DEFAULT_IFS_SH) : ztrdup(DEFAULT_IFS); *s; s++) { > + DEFAULT_IFS_SH : DEFAULT_IFS; *s; s++) { > int c = STOUC(*s == Meta ? *++s ^ 32 : *s); > #ifdef MULTIBYTE_SUPPORT > if (!isascii(c)) { > @@ -3578,7 +3578,7 @@ inittyptab(void) > #ifdef MULTIBYTE_SUPPORT > set_widearray(wordchars, &wordchars_wide); > set_widearray(ifs ? ifs : EMULATION(EMULATE_KSH|EMULATE_SH) ? > - ztrdup(DEFAULT_IFS_SH) : ztrdup(DEFAULT_IFS), &ifs_wide); > + DEFAULT_IFS_SH : DEFAULT_IFS, &ifs_wide); > #endif > for (s = SPECCHARS; *s; s++) > typtab[STOUC(*s)] |= ISPECIAL; That looks OK. ifs gets initialised in that way during setupvals(). I guess the code in inittyptab() just got copied from there when someone spotted it could happen before setupvals() ran, and the code didn't get properly edited when copied. pws