Package: 9wm
Version: 1.2-6
Severity: important
Tags: patch

Our build log filter[1] detected a problem[2] that will cause your
package to segfault on architectures where the size of a pointer is
greater than the size of an integer, such as ia64.

getenv() is used w/o including <stdlib.h>.  However, we can't simply add
this include because it defines a symbol already defined by 9wm:
setstate.  So, I also went in and arbitrarily renamed the internal
setstate to stateset(), and also renamed getstate() to stateget() to
match.  You'll likely be able to choose better names.

[1]http://people.debian.org/~dannf/check-implicit-pointer-functions
[2]Function `getenv' implicitly converted to pointer at main.c:112

diff -urN 9wm-1.2.orig/event.c 9wm-1.2/event.c
--- 9wm-1.2.orig/event.c        1996-10-03 09:15:28.000000000 -0600
+++ 9wm-1.2/event.c     2005-08-14 22:37:20.000000000 -0600
@@ -200,7 +200,7 @@
                XMapWindow(dpy, c->window);
                XMapRaised(dpy, c->parent);
                top(c);
-               setstate(c, NormalState);
+               stateset(c, NormalState);
                if (c->trans != None && current && c->trans == current->window)
                                active(c);
                break;
diff -urN 9wm-1.2.orig/fns.h 9wm-1.2/fns.h
--- 9wm-1.2.orig/fns.h  1996-10-03 09:15:29.000000000 -0600
+++ 9wm-1.2/fns.h       2005-08-14 22:38:13.000000000 -0600
@@ -46,8 +46,8 @@
 char   *getprop();
 Window getwprop();
 int    getiprop();
-int    getstate();
-void   setstate();
+int    stateget();
+void   stateset();
 void   setlabel();
 void   getproto();
 void   gettrans();
diff -urN 9wm-1.2.orig/main.c 9wm-1.2/main.c
--- 9wm-1.2.orig/main.c 1996-10-03 09:15:28.000000000 -0600
+++ 9wm-1.2/main.c      2005-08-14 22:32:20.000000000 -0600
@@ -1,4 +1,5 @@
 /* Copyright (c) 1994-1996 David Hogan, see README for licence details */
+#include <stdlib.h>
 #include <stdio.h>
 #include <signal.h>
 #include <errno.h>
diff -urN 9wm-1.2.orig/manage.c 9wm-1.2/manage.c
--- 9wm-1.2.orig/manage.c       1996-10-03 09:15:28.000000000 -0600
+++ 9wm-1.2/manage.c    2005-08-14 22:37:53.000000000 -0600
@@ -50,7 +50,7 @@
 
        /* Figure out what to do with the window from hints */
 
-       if (!getstate(c->window, &state))
+       if (!stateget(c->window, &state))
                state = hints ? hints->initial_state : NormalState;
        dohide = (state == IconicState);
 
@@ -135,7 +135,7 @@
                        active(c);
                else
                        setactive(c, 0);
-               setstate(c, NormalState);
+               stateset(c, NormalState);
        }
        if (current && (current != c))
                cmapfocus(current);
@@ -195,7 +195,7 @@
        XReparentWindow(dpy, c->window, c->screen->root, c->x, c->y);
        gravitate(c, 0);
        XRemoveFromSaveSet(dpy, c->window);
-       setstate(c, WithdrawnState);
+       stateset(c, WithdrawnState);
 
        /* flush any errors */
        ignore_badwindow = 1;
@@ -452,7 +452,7 @@
 }
 
 void
-setstate(c, state)
+stateset(c, state)
 Client *c;
 int state;
 {
@@ -467,7 +467,7 @@
 }
 
 int
-getstate(w, state)
+stateget(w, state)
 Window w;
 int *state;
 {
diff -urN 9wm-1.2.orig/menu.c 9wm-1.2/menu.c
--- 9wm-1.2.orig/menu.c 1996-10-03 09:15:28.000000000 -0600
+++ 9wm-1.2/menu.c      2005-08-14 22:36:55.000000000 -0600
@@ -191,7 +191,7 @@
        }
        XUnmapWindow(dpy, c->parent);
        XUnmapWindow(dpy, c->window);
-       setstate(c, IconicState);
+       stateset(c, IconicState);
        if (c == current)
                nofocus();
        hiddenc[numhidden] = c;
@@ -222,7 +222,7 @@
        if (map) {
                XMapWindow(dpy, c->window);
                XMapRaised(dpy, c->parent);
-               setstate(c, NormalState);
+               stateset(c, NormalState);
                active(c);
                top(c);
        }

-- 
dann frazier <[EMAIL PROTECTED]>



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to