Subject: bug#58334: 29.0.50; ASAN heap use after free in gui_produce_glyphs

From: Eli Zaretskii <[email-masked]>
Date: Fri, 07 Oct 2022 14:29:19 +0300

> From: Po Lu <[email-masked]>
> Cc: Eli Zaretskii <[email-masked]>,  [email-masked]
> Date: Fri, 07 Oct 2022 18:28:33 +0800
> 
> Gerd Möllmann <[email-masked]> writes:
> 
> > Redisplay has two phases:
> >
> > 1. Building desired matrices, that is, what should be on the screen
> > after redisplay.
> 
> Well, at least there's this in redisplay_internal (I think you wrote
> it):
> 
>   /* I don't think this happens but let's be paranoid.  */
>   if (redisplaying_p) <=================================
>     return;
> 
> So perhaps the right thing to do would be to replace the comment with
> one saying that process_pending_signals can potentially cause redisplay
> to be called within itself.

You don't need process_pending_signals, it's enough that some hook
calls 'redisplay' from Lisp.