zsh-workers
 help / color / mirror / code / Atom feed
From: Peter Stephenson <p.w.stephenson@ntlworld.com>
To: zsh workers <zsh-workers@zsh.org>
Subject: Fwd: Re: [PATCH] {,un}applychange: do not call zle_setline(NULL) if quietgethist() fails
Date: Wed, 26 Jun 2019 12:00:44 +0100 (BST)	[thread overview]
Message-ID: <1126656148.1725000.1561546844984@mail2.virginmedia.com> (raw)
In-Reply-To: <249696510.1723352.1561545091592@mail2.virginmedia.com>

Sorry, this should have gone to the list...

---------- Original Message ----------
From: Peter Stephenson <p.w.stephenson@ntlworld.com>
To: Kamil Dudka <kdudka@redhat.com>
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 <kdudka@redhat.com> 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
>

  parent reply	other threads:[~2019-06-26 11:01 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-26 10:19 Kamil Dudka
     [not found] ` <249696510.1723352.1561545091592@mail2.virginmedia.com>
2019-06-26 11:00   ` Peter Stephenson [this message]
2019-06-26 12:07     ` Fwd: " Kamil Dudka
2019-06-27 23:01 ` Oliver Kiddle
2019-06-28  0:20   ` Mikael Magnusson
2019-06-28  8:12   ` Kamil Dudka
2019-07-23 13:45   ` [PATCH v2] " Kamil Dudka
2019-07-26 15:24     ` Kamil Dudka

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1126656148.1725000.1561546844984@mail2.virginmedia.com \
    --to=p.w.stephenson@ntlworld.com \
    --cc=zsh-workers@zsh.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).