Imported Debian patch 2:1.11.4-0ubuntu10.1
[glsdk/xserver.git] / Xext / xtest.c
index cc675c1161c7d80b553a8456a6b757710c6eea2d..9f0701666211546b7b7469458065d93519adf89e 100644 (file)
@@ -121,6 +121,10 @@ ProcXTestCompareCursor(ClientPtr client)
     rc = dixLookupWindow(&pWin, stuff->window, client, DixGetAttrAccess);
     if (rc != Success)
         return rc;
+
+    if (!ptr)
+        return BadAccess;
+
     if (stuff->cursor == None)
         pCursor = NullCursor;
     else if (stuff->cursor == XTestCurrentCursor)
@@ -321,9 +325,15 @@ ProcXTestFakeInput(ClientPtr client)
                 return BadValue;
         }
 
+        /* Technically the protocol doesn't allow for BadAccess here but
+         * this can only happen when all MDs are disabled.  */
+        if (!dev)
+            return BadAccess;
+
         dev = GetXTestDevice(dev);
     }
 
+
     /* If the event has a time set, wait for it to pass */
     if (ev->u.keyButtonPointer.time)
     {