Bug #1360: Fix a segfault by checking the return value of XQueryTree.
authorAdam Jackson <ajax@nwnk.net>
Tue, 14 Sep 2004 19:01:16 +0000 (19:01 +0000)
committerAdam Jackson <ajax@nwnk.net>
Tue, 14 Sep 2004 19:01:16 +0000 (19:01 +0000)
    (Johan Kiviniemi)

ChangeLog
xcompmgr.c

index f9abcd0..467e608 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2004-09-14  Adam Jackson  <ajax@freedesktop.org>
+
+       * xcompmgr.c:
+       Bug #1360: Fix a segfault by checking the return value of XQueryTree.
+       (Johan Kiviniemi)
+
 2004-09-10  Adam Jackson  <ajax@freedesktop.org>
 
        * xcompmgr.c:
 2004-09-10  Adam Jackson  <ajax@freedesktop.org>
 
        * xcompmgr.c:
index 122d8b4..7e542fe 100644 (file)
@@ -1297,7 +1297,13 @@ determine_wintype (Display *dpy, Window w)
     if (type != winNormalAtom)
        return type;
 
     if (type != winNormalAtom)
        return type;
 
-    XQueryTree (dpy, w, &root_return, &parent_return, &children, &nchildren);
+    if (!XQueryTree (dpy, w, &root_return, &parent_return, &children,
+                           &nchildren))
+    {
+       /* XQueryTree failed. */
+       return winNormalAtom;
+    }
+
     for (i = 0;i < nchildren;i++)
     {
        type = determine_wintype (dpy, children[i]);
     for (i = 0;i < nchildren;i++)
     {
        type = determine_wintype (dpy, children[i]);