GNU bug report logs -
#8215
possibly uninitialized variable lower_xoff in produce_glyphless_glyph
Previous Next
Reported by: Paul Eggert <eggert <at> cs.ucla.edu>
Date: Wed, 9 Mar 2011 22:01:01 UTC
Severity: normal
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
> From: Lars Ingebrigtsen <larsi <at> gnus.org>
> Date: Wed, 02 Jun 2021 10:06:29 +0200
> Cc: 8215 <at> debbugs.gnu.org, Kenichi Handa <handa <at> m17n.org>
>
> Paul Eggert <eggert <at> 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.
This bug report was last modified 4 years and 45 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.