From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham autolearn_force=no version=3.4.2 Received: from primenet.com.au (ns1.primenet.com.au [203.24.36.2]) by inbox.vuxu.org (OpenSMTPD) with ESMTP id b4d30b98 for ; Wed, 26 Jun 2019 11:01:34 +0000 (UTC) Received: (qmail 6870 invoked by alias); 26 Jun 2019 11:01:29 -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: List-Unsubscribe: X-Seq: 44450 Received: (qmail 13141 invoked by uid 1010); 26 Jun 2019 11:01:29 -0000 X-Qmail-Scanner-Diagnostics: from smtpq4.tb.ukmail.iss.as9143.net by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.101.2/25489. spamassassin: 3.4.2. Clear:RC:0(212.54.57.99):SA:0(-2.7/5.0):. Processed in 3.845979 secs); 26 Jun 2019 11:01:29 -0000 X-Envelope-From: p.w.stephenson@ntlworld.com X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | Received-SPF: pass (ns1.primenet.com.au: SPF record at _mailcloud.virginmedia.com designates 212.54.57.99 as permitted sender) X-Env-Mailfrom: p.w.stephenson@ntlworld.com X-Env-Rcptto: zsh-workers@zsh.org X-SourceIP: 172.25.160.137 X-CNFS-Analysis: v=2.3 cv=Da5pVclW c=1 sm=1 tr=0 a=wOjQ4in9RKFG6jhXMc4Ghg==:117 a=jpOVt7BSZ2e4Z31A5e1TngXxSK0=:19 a=TdzEzxkPBUwA:10 a=IkcTkHD0fZMA:10 a=rpDhL_isVlsA:10 a=NLZqzBF-AAAA:8 a=20KFwNOVAAAA:8 a=JfK3_RkInDJVwDOYJIIA:9 a=QEXdDO2ut3YA:10 a=wW_WBVUImv98JQXhvVPZ:22 X-Authenticated-Sender: p.w.stephenson@ntlworld.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ntlworld.com; s=meg.feb2017; t=1561546845; bh=n+PBnO4Fap6/2Lc6wo64m4Ij8h82aoYEsQigMfoD4xI=; h=Date:From:To:In-Reply-To:References:Subject; b=lFIV4sQUfavxxe3epULJkT4Jm8shgbLt9+t7OPv1icRhKU00VUx73uTxXe1BiK0vc P7XvyEJooDHiZd/UMpMckYfNkeupZf5fDnb9d3USkge1JmmKH1la+IYMGegZJDfyQu DSUiqXTOomZ52KItDAaihiAlb6sf5R/ELuJVOdapOIJkw348tqMAO32B+b1hPvscmV V6FN6M9zmRTo2Zh9x2nvd8TGKfo0yA2Ha/79pGkj5sfnADIg4NtdlgK/ND0Le6Ngf2 srQhT3bmX4yzCaW27NUDt5c7UsKqZHMcs+zkhaIipmaXzM8aZjC5xQhHkcgJnf7sK2 hHS4y6RDOE1OA== Date: Wed, 26 Jun 2019 12:00:44 +0100 (BST) From: Peter Stephenson To: zsh workers Message-ID: <1126656148.1725000.1561546844984@mail2.virginmedia.com> In-Reply-To: <249696510.1723352.1561545091592@mail2.virginmedia.com> References: <20190626101908.548-1-kdudka@redhat.com> <249696510.1723352.1561545091592@mail2.virginmedia.com> Subject: Fwd: Re: [PATCH] {,un}applychange: do not call zle_setline(NULL) if quietgethist() fails MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Priority: 3 Importance: Medium X-Mailer: Open-Xchange Mailer v7.8.4-Rev51 X-Originating-IP: 165.225.81.34 X-Originating-Client: open-xchange-appsuite X-CMAE-Envelope: MS4wfNOcM+p6iAZLpT1EpEM72y+2vTUts1BnrY+mWoU5CevApqbYKcM288lKnzDcDRExWi/K6EtsdsSqiTZRzIc9VCHiOBi1dgV0H0gcMIi2AXYPl5fYkmm8 5yk719Eq0sbc+aPYGibqAyVBewi0ogLtUb+srx+v2vWyrWISzXjwOP0j3oCjvtp9HcVQbJT+DLzD0qzqBlRTuW9ercCDDJFM+Xs= Sorry, this should have gone to the list... ---------- Original Message ---------- From: Peter Stephenson To: Kamil Dudka Date: 26 June 2019 at 11:31 Subject: Re: [PATCH] {,un}applychange: do not call zle_setline(NULL) if quietgethist() fails > On 26 June 2019 at 11:19 Kamil Dudka wrote: > > > There is a bug report in Red Hat Bugzilla about zsh crashing on NULL > pointer dereference: https://bugzilla.redhat.com/1722703 > > I was not able to reproduce the crash myself but the attached patch > should prevent zsh from crashing in this situation. Hmm... I'm guessing that in the failure case we probably shouldn't set zlecs either? It's probably not going to do anything helpful. Possibly also return 1? pws > Src/Zle/zle_utils.c | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) > > diff --git a/Src/Zle/zle_utils.c b/Src/Zle/zle_utils.c > index 0277d4917..8081d3adc 100644 > --- a/Src/Zle/zle_utils.c > +++ b/Src/Zle/zle_utils.c > @@ -1607,7 +1607,9 @@ static int > unapplychange(struct change *ch) > { > if(ch->hist != histline) { > - zle_setline(quietgethist(ch->hist)); > + Histent he = quietgethist(ch->hist); > + if(he) > + zle_setline(he); > zlecs = ch->new_cs; > return 0; > } > @@ -1647,7 +1649,9 @@ static int > applychange(struct change *ch) > { > if(ch->hist != histline) { > - zle_setline(quietgethist(ch->hist)); > + Histent he = quietgethist(ch->hist); > + if(he) > + zle_setline(he); > zlecs = ch->old_cs; > return 0; > } > -- > 2.20.1 >