On Thu, Jul 25, 2002 at 11:11:50AM +0200, Uwe Pross wrote:
> On July 25, 2002 at 10:40 +0200, Dominik Vogt wrote:
> > 
> > I've seen two yet.  They have in common that an invalid menu style
> > is accessed, for example via (from paint_menu()):
> > 
> >   MenuStyle *ms = MR_STYLE(mr);
> > 
> > This expands to
> > 
> >   MenuStyle *ms = mr->ms->s;
> > 
> 
> That's right two occured in function 
> 
> static void paint_menu(
>        MenuRoot *mr, XEvent *pevent, FvwmWindow *fw)
> [line 4056 im menus.c]
> 
> one in line 4063:
> 
>       int bw = MST_BORDER_WIDTH(mr); 
> 
> another in line 4117:
> 
>       if ((MST_FACE(mr).type != SolidMenu &&
>            MST_FACE(mr).type != SimpleMenu &&
>            !MST_HAS_MENU_CSET(mr)) ||
> 
> In both cases *mr is involved.

If you look closely you can see that mr->ms->s is involved in all
cases (the static part of the menu style).  Mikhael posted a
similar core dumps a few weeks ago.  In his and one of the similar
crashes I got, the contents of mr->ms had been overwritten with
random data, so mr->ms->s pointed to a random location.

> I am quite sure that I checked if the
> pointer mr or its subpointers were NULL before accessing it to prevent
> the seg fault. This check was passed but the seg fault did still
> occur. Maybe one of the pointer is not NULL but points to an invalid
> segment (However this can happen). I will do a double check of this
> test tonight or tommorow.
> 
> The third one occured in another function in menus.c. Unfortunately I
> can't remember where it was. Maybe it happens again.

Bye

Dominik ^_^  ^_^

 --
Dominik Vogt, mail: [EMAIL PROTECTED], phone: 0721/91374-382
Schlund + Partner AG, Erbprinzenstr. 4-12, D-76133 Karlsruhe
--
Visit the official FVWM web page at <URL:http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm-workers" in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]

Reply via email to