Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 5 Feb 2008 07:28:59 GMT
From:      Hiromi Kimura <hiromi@tac.tsukuba.ac.jp>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/120284: x11-wm/windowmaker WPrefs crash on amd64
Message-ID:  <200802050728.m157SxGN082606@www.freebsd.org>
Resent-Message-ID: <200802050740.m157e1vp023967@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         120284
>Category:       ports
>Synopsis:       x11-wm/windowmaker WPrefs crash on amd64
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Tue Feb 05 07:40:01 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator:     Hiromi Kimura
>Release:        6.3-RELEASE/amd64
>Organization:
University of Tsukuba
>Environment:
FreeBSD x7.tac.tsukuba.ac.jp 6.3-RELEASE FreeBSD 6.3-RELEASE #0: Wed Jan 16 01:43:02 UTC 2008     root@palmer.cse.buffalo.edu:/usr/obj/usr/src/sys/SMP  amd64
>Description:
After start the WindowMaker, double clicking the WPrefs icon makes core.

% cd /usr/local/GNUstep/Applications/WPrefs.app/
% gdb WPrefs
(gdb) r
  .....
Program received signal SIGSEGV, Segmentation fault.
0x00000008018ea57c in _XData32 () from /usr/local/lib/libX11.so.6
(gdb) bt
#0  0x00000008018ea57c in _XData32 () from /usr/local/lib/libX11.so.6
#1  0x00000008018c138f in XChangeProperty () from /usr/local/lib/libX11.so.6
#2  0x0000000000440ecc in WMSetWindowMiniwindowImage ()
#3  0x000000000040768a in Initialize ()
#4  0x00000000004066e2 in main ()

>How-To-Repeat:
Install the packages:
 xorg-7.3_1.tbz
 windowmaker-0.92.0_3.tbz

>Fix:
--- WINGs/wwindow.c.orig        2008-02-05 15:53:08.000000000 +0900
+++ WINGs/wwindow.c     2008-02-05 15:50:18.000000000 +0900
@@ -254,14 +254,14 @@
 setMiniwindow(WMWindow *win, RImage *image)
 {
     WMScreen *scr= win->view->screen;
-    CARD32 *data;
+    unsigned long *data;
     int x, y;
     int o;

     if (!image)
       return;

-    data = wmalloc((image->width * image->height + 2) * sizeof(CARD32));
+    data = wmalloc((image->width * image->height + 2) * sizeof(unsigned long));

     o= 0;
     data[o++] = image->width;


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200802050728.m157SxGN082606>