GNU bug report logs - #8215
possibly uninitialized variable lower_xoff in produce_glyphless_glyph

Previous Next

Package: emacs;

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>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 8215 <at> debbugs.gnu.org, Kenichi Handa <handa <at> m17n.org>
Subject: bug#8215: possibly uninitialized variable lower_xoff in produce_glyphless_glyph
Date: Wed, 02 Jun 2021 10:06:29 +0200
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?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




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.