bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#8215: possibly uninitialized variable lower_xoff in produce_glyphles


From: Eli Zaretskii
Subject: bug#8215: possibly uninitialized variable lower_xoff in produce_glyphless_glyph
Date: Wed, 02 Jun 2021 16:17:11 +0300

> From: Lars Ingebrigtsen <larsi@gnus.org>
> Date: Wed, 02 Jun 2021 10:06:29 +0200
> Cc: 8215@debbugs.gnu.org, Kenichi Handa <handa@m17n.org>
> 
> Paul Eggert <eggert@cs.ucla.edu> writes:
> 
> > In the meantime, I plan to work around the problem by initializing
> > lower_xoff to 0, with a FIXME explaining the situation: this shouldn't
> > introduce a bug, because at worst it will replace undefined behavior
> > with defined behavior.
> 
> It looks like this code is still in place now, ten years later:
> 
> diff --git a/src/xdisp.c b/src/xdisp.c
> index 44cb713011..44a317b578 100644
> --- a/src/xdisp.c
> +++ b/src/xdisp.c
> @@ -22292,7 +22292,13 @@ produce_glyphless_glyph (struct it *it, int 
> for_no_font, Lisp_Object acronym)
>         if (metrics_upper.width >= metrics_lower.width)
>           lower_xoff = (width - metrics_lower.width) / 2;
>         else
> -         upper_xoff = (width - metrics_upper.width) / 2;
> +         {
> +           /* FIXME: This code doesn't look right.  It formerly was
> +              missing the "lower_xoff = 0;", which couldn't have
> +              been right since it left lower_xoff uninitialized.  */
> +           lower_xoff = 0;
> +           upper_xoff = (width - metrics_upper.width) / 2;
> +         }
>       }
>  
>        /* +5 is for horizontal bars of a box plus 1-pixel spaces at
> 
> Anybody have any insight into whether this is correct or not now?

I fixed this (and removed the FIXME with the incorrect
initialization).  Bottom line: it was a typo.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]