unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Problem report #25
@ 2006-04-10 18:58 Dan Nicolaescu
  2006-04-11  6:44 ` Jan D.
  0 siblings, 1 reply; 2+ messages in thread
From: Dan Nicolaescu @ 2006-04-10 18:58 UTC (permalink / raw)


CID: 25
Checker: FORWARD_NULL (help)
File: emacs/src/xterm.c
Function: x_set_mouse_face_gc
Description: Variable "face" tracked as NULL was passed to a function that dereferences it.

Event var_compare_op: Added "face" due to comparison "face == 0"
Also see events: [var_deref_op][var_deref_op][var_deref_model]
At conditional (1): "face == 0" taking true path

1064 	  if (face == NULL)

At conditional (2): "9 < (((s)->f)->face_cache)->used" taking false path

1065 	    face = FACE_FROM_ID (s->f, MOUSE_FACE_ID);
1066 	

At conditional (3): "((s)->first_glyph)->type == 0" taking true path

1067 	  if (s->first_glyph->type == CHAR_GLYPH)

Event var_deref_op: Variable "face" tracked as NULL was dereferenced.
Event var_deref_model: Variable "face" tracked as NULL was passed to a function that dereferences it. [model]
Also see events: [var_compare_op][var_deref_op][var_deref_model]
At conditional (4): "(((s)->first_glyph)->u).ch & 255 == (((s)->first_glyph)->u).ch" taking true path

1068 	    face_id = FACE_FOR_CHAR (s->f, face, s->first_glyph->u.ch);
1069 	  else

Event var_deref_op: Variable "face" tracked as NULL was dereferenced.
Also see events: [var_compare_op][var_deref_op][var_deref_model]

1070 	    face_id = FACE_FOR_CHAR (s->f, face, 0);
1071 	  s->face = FACE_FROM_ID (s->f, face_id);
1072 	  PREPARE_FACE_FOR_DISPLAY (s->f, s->face);
1073 	

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Problem report #25
  2006-04-10 18:58 Problem report #25 Dan Nicolaescu
@ 2006-04-11  6:44 ` Jan D.
  0 siblings, 0 replies; 2+ messages in thread
From: Jan D. @ 2006-04-11  6:44 UTC (permalink / raw)




Dan Nicolaescu wrote:
> CID: 25 Checker: FORWARD_NULL (help) File: emacs/src/xterm.c Function:
> x_set_mouse_face_gc Description: Variable "face" tracked as NULL was passed
> to a function that dereferences it.
> 
> Event var_compare_op: Added "face" due to comparison "face == 0" Also see
> events: [var_deref_op][var_deref_op][var_deref_model] At conditional (1):
> "face == 0" taking true path
> 
> 1064 	  if (face == NULL)
> 
> At conditional (2): "9 < (((s)->f)->face_cache)->used" taking false path
> 
> 1065 	    face = FACE_FROM_ID (s->f, MOUSE_FACE_ID); 1066
> 

The thing is that MOUSE_FACE_ID always exists on an X11 frame.  It is realized 
at frame creation.  So face can not be NULL after this.

	Jan D.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2006-04-11  6:44 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-04-10 18:58 Problem report #25 Dan Nicolaescu
2006-04-11  6:44 ` Jan D.

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).