fixed xffm crash

edscott wilson garcia edscott at imp.mx
Tue Jul 15 01:59:24 CEST 2003


I'm pretty sure I found the crash source. It will occur when the TERM
environment variable is NULL. It so happens that the g_strstrip()
function is actually a macro for g_strchomp (g_strchug (string)). I've
updated CVS and attach a patch which should fix the problem. Please
verify.

regards

Edscott


El lun, 14-07-2003 a las 18:28, edscott wilson garcia escribió:
> El lun, 14-07-2003 a las 16:54, Olivier Fourdan escribió:
> > Edscott,
> > 
> > Now my vote goes to some var being set from a terminal and not from the
> > xinit script (typically, it runs from a terminal but not from the panel
> > *and* a string is null that causes the crash)
> 
> That sounds reasonable. Furthermore it should be a gtk call in xffm that
> uses a string as an argument, and when it tries to remove whitespace is
> when it crashes... I'm now looking into the code for possible routes...
> 
> regards,
> 
> Edscott
> 
> 
> > 
> > Cheers,
> > Olivier.
> > 
> > 
> > On Mon, 2003-07-14 at 23:50, Olivier Fourdan wrote:
> > > On Mon, 2003-07-14 at 18:00, edscott wilson garcia wrote:
> > > > On Mon, 2003-07-14 at 10:00, Erçin EKER wrote:
> > > > Maybe the binary rpm is broken. Please try compiling the tarball to
> > > > verify if it is a mandrake specific problem.
> > > 
> > > 
> > > Humm, I don't buy this... Memory corruption are usually hard to track
> > > down, can show a lot later in code...
> > > 
> > > Just my 2 Euro cents...
> > > 
> > > Cheers,
> 
> _______________________________________________
> Xfce4-dev mailing list
> Xfce4-dev at xfce.org
> http://moongroup.com/mailman/listinfo/xfce4-dev
> 
-------------- next part --------------
--- /fast/CVS/sourceforge/xfce/xfce-devel/xffm/src/mcs-manager.c-0	Tue Jul  8 12:57:47 2003
+++ /fast/CVS/sourceforge/xfce/xfce-devel/xffm/src/mcs-manager.c	Mon Jul 14 18:49:18 2003
@@ -134,7 +134,7 @@
 	  /*if (getenv(name) && access(getenv(name),X_OK)==0)*/
 	  /*printf("DBG:TERM=%s!\n",value);*/
 
-	  if (value&&strlen(value)){
+	  if (value && strlen(value) && getenv("TERM") && strlen(getenv("TERM"))){
 		gchar *c,*t=g_strdup(getenv("TERM"));
     		t=g_strstrip(t);
 		if (strchr(t,' '))t=strtok(t," ");


More information about the Xfce4-dev mailing list