Subject: FVWM: Bug in pre 2.0 pl 33/34

From: Jesper Skovhus Thomsen <[email-masked]>
Date: Thu, 5 Oct 95 11:05:23 MET

Hello all.

With the following system:
AMD 486 DX4100 with 20Mb RAM and Tseng ET4000W32i running
Linux 1.2.11 with XFree86 3.1.1 

I have observed a problem with fvwm pre 2.0 pl 33 and pl 34, which do
not occur with fvwm 1.24 and twm.

With some programs e.g. Radiance (a ray tracer) whenever a window in
which the process is running is killed -- either by double clicking
on the "close button" or by giving the process a kill -kill 
X hangs -- or more to the point fvwm hangs.

I think I have isolated the problem to 4 lines of code in the file
misc.c in the fvwm directory.

line 185 to line 188 in fvwm/misc.c:

  if (Tmp_win->class.res_name && Tmp_win->class.res_name != NoName)
    XFree ((char *)Tmp_win->class.res_name);
  if (Tmp_win->class.res_class && Tmp_win->class.res_class != NoName)
    XFree ((char *)Tmp_win->class.res_class);

A printf reveals that 

Tmp_win->class.res_name  is "NoName"
Tmp_win->class.res_calss is "NoClass"
NoName                   is "Untitled"

So it looks like fvwm tries to free something that is not "freeable"

I think that the problem lies in add_window.c line 129 to 135:

 tmp_win->class = NoClass;

 XGetClassHint(dpy, tmp_win->w, &tmp_win->class);
 if (tmp_win->class.res_name == NULL)      <----+
     tmp_win->class.res_name = NoName;          | 
 if (tmp_win->class.res_class == NULL)     <----+
     tmp_win->class.res_class = NoName;         |
                                                |
                              here is tmp_win->class.res_name "NoName" and
			      tmp_win->class.res_class is "NoClass".

The same or a related problem have been reported in pl 36 by Karl Eichwalder.

Yesterday I accidently send this message to [email-masked]
Sorry!

Jesper

-------------------------------------------------------------------------------
 Jesper Skovhus Thomsen              | 
 ([email-masked])           |    Nothing comes from doing nothing
 Department of Cell Biology          |    -- except fluff.
 Institute of Anatomy                |                            Storm P.
 University of Aarhus                |
-------------------------------------------------------------------------------
		     LINUX the choice of a GNU-generation
-------------------------------------------------------------------------------
--
To unsubscribe from the list, send "unsubscribe fvwm" in the body of a
message to [email-masked].
To report problems, send mail to [email-masked].