Any comments about this patch?  This addresses a crash for me.

On Sun, Sep 23, 2012 at 10:29:57PM -0700, Andrew Gaul wrote:
> # HG changeset patch
> # User Andrew Gaul <and...@gaul.org>
> # Date 1348464567 25200
> # Branch HEAD
> # Node ID 3d3f1fb09ef6dcb52393e4d68b0a8d1e2242efea
> # Parent  70810a88ce9feb66d5c74e7ec3f2a633bd8b5312
> Guard against NULL dereference in mutt_parent_message
> 
> Seen when switching IMAP accounts:
> 
> Program terminated with signal 11, Segmentation fault.
> #0  0x000000000048dbfa in mutt_parent_message (ctx=0x2cb9870, hdr=0x0)
>     at thread.c:1087
> 1087      for (thread = hdr->thread->parent; thread; thread = thread->parent)
> 
> (gdb) bt
> #0  0x000000000048dbfa in mutt_parent_message (ctx=0x2cb9870, hdr=0x0)
>     at thread.c:1087
> #1  0x00000000004236a9 in resort_index (menu=0x271bed0) at curs_main.c:396
> #2  0x000000000042384e in mutt_index_menu () at curs_main.c:456
> #3  0x0000000000449b13 in main (argc=1, argv=0x7fff68a4e528) at main.c:1020
> 
> (gdb) print hdr
> $1 = (HEADER *) 0x0
> 
> diff -r 70810a88ce9f -r 3d3f1fb09ef6 thread.c
> --- a/thread.c        Sun Jul 22 11:15:30 2012 -0700
> +++ b/thread.c        Sun Sep 23 22:29:27 2012 -0700
> @@ -1078,6 +1078,10 @@
>  {
>    THREAD *thread;
>  
> +  if (hdr == NULL) {
> +    goto out;
> +  }
> +
>    if ((Sort & SORT_MASK) != SORT_THREADS)
>    {
>      mutt_error _("Threading is not enabled.");
> @@ -1097,7 +1101,8 @@
>        }
>      }
>    }
> -  
> +
> +out:
>    mutt_error _("Parent message is not available.");
>    return (-1);
>  }

-- 
Andrew Gaul
http://gaul.org/

Reply via email to