From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20191 invoked by alias); 6 Jan 2015 10:03:10 -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: 34126 Received: (qmail 8546 invoked from network); 6 Jan 2015 10:02:58 -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-b8-54abb073de55 Date: Tue, 06 Jan 2015 09:52:48 +0000 From: Peter Stephenson To: zsh-workers@zsh.org Subject: Re: PATCH 12/17: typeset: fix leak of oldval Message-id: <20150106095248.5ac33506@pwslap01u.europe.root.pri> In-reply-to: <1420521949-30483-13-git-send-email-mikachu@gmail.com> References: <1420521949-30483-1-git-send-email-mikachu@gmail.com> <1420521949-30483-13-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+NgFlrCLMWRmVeSWpSXmKPExsVy+t/xy7rFG1aHGBx6p2FxsPkhkwOjx6qD H5gCGKO4bFJSczLLUov07RK4MhYdPM1U8IS1ovNxP2sD40aWLkZODgkBE4kp9zcyQthiEhfu rWfrYuTiEBJYyihxZ+oVRghnCZPE5hmTmCGcbYwSX641sHYxcnCwCKhKfLvKB9LNJmAoMXXT bLBJIgLiEmfXnmcBKREWMJWYuSoJJMwrYC/xu6uBCcTmFHCW2PvvHzuILSRQJbFt/wywg/gF 9CWu/v3EBHGQvcTMK2cYIXoFJX5MvgdWwyygJbF5WxMrhC0vsXnNW2aIOeoSN+7uZp/AKDQL ScssJC2zkLQsYGRexSiaWppcUJyUnmuoV5yYW1yal66XnJ+7iRESsl92MC4+ZnWIUYCDUYmH 90P76hAh1sSy4srcQ4wSHMxKIrw7pgOFeFMSK6tSi/Lji0pzUosPMTJxcEo1MPLdP9D1VfqX coOa1dWyv+xJjq9Zzu27bZN+pfd47kPWMwq8nkvUs2d5HZl9q4BXU+bSgwCnLcdNt1owt/na +vv2nn5/SFKP+wb3Dn4x079c+61jbHdz5kpsfVevfGu1+PXukGwf57M5X3527l8u9u9N6opT Yn/XbJ/FmMD5+NYfnQrOJV5yq5RYijMSDbWYi4oTAQ4XTyo3AgAA On Tue, 6 Jan 2015 06:25:44 +0100 Mikael Magnusson wrote: > Found by Coverity (Issue 1255803). > --- > Src/builtin.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/Src/builtin.c b/Src/builtin.c > index ae7f53b..38d34ae 100644 > --- a/Src/builtin.c > +++ b/Src/builtin.c > @@ -2510,6 +2510,8 @@ bin_typeset(char *name, char **argv, Options ops, int func) > asg->name), > func, (on | PM_ARRAY) & ~PM_EXPORTED, > off, roff, asg->value, NULL, ops, 0))) { > + if (oldval) > + zsfree(oldval); > unqueue_signals(); > return 1; > } That's certainly logical --- couldn't be worse than harmless even if there's something very strange going on. pws