* Problem report #92
@ 2006-09-07 21:46 Dan Nicolaescu
2006-09-08 11:34 ` Kim F. Storm
2006-09-08 11:41 ` Jan Djärv
0 siblings, 2 replies; 3+ messages in thread
From: Dan Nicolaescu @ 2006-09-07 21:46 UTC (permalink / raw)
This appeared around August 25th. Can somebody please take a look and
see whether it's a real problem or not.
Thanks!
CID: 92
Checker: UNINIT (help)
File: base/src/emacs/src/xterm.c
Function: x_draw_glyph_string
Description: Using uninitialized value "y" as argument to function "XFillRectangle"
2680 if (!s->for_overlaps)
2681 {
2682 /* Draw underline. */
2683 if (s->face->underline_p)
2684 {
2685 unsigned long tem, h;
Event var_decl: Declared variable "y" without initializer
Also see events: [uninit_arg][uninit_arg]
2686 int y;
2687
2688 /* Get the underline thickness. Default is 1 pixel. */
At conditional (1): "XGetFontProperty == 0" taking true path
2689 if (!XGetFontProperty (s->font, XA_UNDERLINE_THICKNESS, &h))
2690 h = 1;
2691
At conditional (2): "x_underline_at_descent_line != 0" taking false path
2692 if (x_underline_at_descent_line)
2693 y = s->y + s->height - h;
2694 else
2695 {
2696 /* Get the underline position. This is the recommended
2697 vertical offset in pixels from the baseline to the top of
2698 the underline. This is a signed value according to the
2699 specs, and its default is
2700
2701 ROUND ((maximum descent) / 2), with
2702 ROUND(x) = floor (x + 0.5) */
2703
At conditional (3): "x_use_underline_position_properties != 0" taking true path
At conditional (4): "XGetFontProperty != 0" taking false path
2704 if (x_use_underline_position_properties
2705 && XGetFontProperty (s->font, XA_UNDERLINE_POSITION, &tem))
2706 y = s->ybase + (long) tem;
At conditional (5): "((s)->face)->font != 0" taking false path
2707 else if (s->face->font)
2708 y = s->ybase + (s->face->font->max_bounds.descent + 1) / 2;
2709 }
2710
At conditional (6): "((s)->face)->underline_defaulted_p != 0" taking true path
2711 if (s->face->underline_defaulted_p)
Event uninit_arg: Using uninitialized value "y" as argument to function "XFillRectangle"
Also see events: [var_decl][uninit_arg]
2712 XFillRectangle (s->display, s->window, s->gc,
2713 s->x, y, s->background_width, h);
2714 else
2715 {
2716 XGCValues xgcv;
2717 XGetGCValues (s->display, s->gc, GCForeground, &xgcv);
2718 XSetForeground (s->display, s->gc, s->face->underline_color);
Event uninit_arg: Using uninitialized value "y" as argument to function "XFillRectangle"
Also see events: [var_decl][uninit_arg]
2719 XFillRectangle (s->display, s->window, s->gc,
2720 s->x, y, s->background_width, h);
2721 XSetForeground (s->display, s->gc, xgcv.foreground);
2722 }
2723 }
2724
2725 /* Draw overline. */
2726 if (s->face->overline_p)
2727 {
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Problem report #92
2006-09-07 21:46 Problem report #92 Dan Nicolaescu
@ 2006-09-08 11:34 ` Kim F. Storm
2006-09-08 11:41 ` Jan Djärv
1 sibling, 0 replies; 3+ messages in thread
From: Kim F. Storm @ 2006-09-08 11:34 UTC (permalink / raw)
Cc: emacs-devel
Dan Nicolaescu <dann@ics.uci.edu> writes:
> This appeared around August 25th. Can somebody please take a look and
> see whether it's a real problem or not.
Was a real problem. I've installed a fix.
Thanks!
> CID: 92
> Checker: UNINIT (help)
> File: base/src/emacs/src/xterm.c
> Function: x_draw_glyph_string
> Description: Using uninitialized value "y" as argument to function "XFillRectangle"
--
Kim F. Storm <storm@cua.dk> http://www.cua.dk
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Problem report #92
2006-09-07 21:46 Problem report #92 Dan Nicolaescu
2006-09-08 11:34 ` Kim F. Storm
@ 2006-09-08 11:41 ` Jan Djärv
1 sibling, 0 replies; 3+ messages in thread
From: Jan Djärv @ 2006-09-08 11:41 UTC (permalink / raw)
Cc: emacs-devel
Dan Nicolaescu skrev:
> This appeared around August 25th. Can somebody please take a look and
> see whether it's a real problem or not.
>
> Thanks!
I think it is a real problem. That said, I guess s->face->font always should
be set, so in real life, the error does not happen. However, it could be a
good idea to abort instead if y does not get set, i.e.:
else if (s->face->font)
y = s->ybase + (s->face->font->max_bounds.descent + 1) / 2;
else abort();
Jan D.
>
> CID: 92
> Checker: UNINIT (help)
> File: base/src/emacs/src/xterm.c
> Function: x_draw_glyph_string
> Description: Using uninitialized value "y" as argument to function "XFillRectangle"
>
>
> 2680 if (!s->for_overlaps)
> 2681 {
> 2682 /* Draw underline. */
> 2683 if (s->face->underline_p)
> 2684 {
> 2685 unsigned long tem, h;
>
> Event var_decl: Declared variable "y" without initializer
> Also see events: [uninit_arg][uninit_arg]
>
> 2686 int y;
> 2687
> 2688 /* Get the underline thickness. Default is 1 pixel. */
>
> At conditional (1): "XGetFontProperty == 0" taking true path
>
> 2689 if (!XGetFontProperty (s->font, XA_UNDERLINE_THICKNESS, &h))
> 2690 h = 1;
> 2691
>
> At conditional (2): "x_underline_at_descent_line != 0" taking false path
>
> 2692 if (x_underline_at_descent_line)
> 2693 y = s->y + s->height - h;
> 2694 else
> 2695 {
> 2696 /* Get the underline position. This is the recommended
> 2697 vertical offset in pixels from the baseline to the top of
> 2698 the underline. This is a signed value according to the
> 2699 specs, and its default is
> 2700
> 2701 ROUND ((maximum descent) / 2), with
> 2702 ROUND(x) = floor (x + 0.5) */
> 2703
>
> At conditional (3): "x_use_underline_position_properties != 0" taking true path
> At conditional (4): "XGetFontProperty != 0" taking false path
>
> 2704 if (x_use_underline_position_properties
> 2705 && XGetFontProperty (s->font, XA_UNDERLINE_POSITION, &tem))
> 2706 y = s->ybase + (long) tem;
>
> At conditional (5): "((s)->face)->font != 0" taking false path
>
> 2707 else if (s->face->font)
> 2708 y = s->ybase + (s->face->font->max_bounds.descent + 1) / 2;
> 2709 }
> 2710
>
> At conditional (6): "((s)->face)->underline_defaulted_p != 0" taking true path
>
> 2711 if (s->face->underline_defaulted_p)
>
> Event uninit_arg: Using uninitialized value "y" as argument to function "XFillRectangle"
> Also see events: [var_decl][uninit_arg]
>
> 2712 XFillRectangle (s->display, s->window, s->gc,
> 2713 s->x, y, s->background_width, h);
> 2714 else
> 2715 {
> 2716 XGCValues xgcv;
> 2717 XGetGCValues (s->display, s->gc, GCForeground, &xgcv);
> 2718 XSetForeground (s->display, s->gc, s->face->underline_color);
>
> Event uninit_arg: Using uninitialized value "y" as argument to function "XFillRectangle"
> Also see events: [var_decl][uninit_arg]
>
> 2719 XFillRectangle (s->display, s->window, s->gc,
> 2720 s->x, y, s->background_width, h);
> 2721 XSetForeground (s->display, s->gc, xgcv.foreground);
> 2722 }
> 2723 }
> 2724
> 2725 /* Draw overline. */
> 2726 if (s->face->overline_p)
> 2727 {
>
>
> _______________________________________________
> Emacs-devel mailing list
> Emacs-devel@gnu.org
> http://lists.gnu.org/mailman/listinfo/emacs-devel
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2006-09-08 11:41 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-09-07 21:46 Problem report #92 Dan Nicolaescu
2006-09-08 11:34 ` Kim F. Storm
2006-09-08 11:41 ` Jan Djärv
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.