From 98e8ec8deb09db1c56e06afed267e6f517042fa3 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Fri, 12 Jun 2009 10:54:55 +1000 Subject: [PATCH] Xi: sanitize ProcXIGetClientPointer. This was quite old code and can be streamlined a bit. The new code is essentially the same as in ProcXISetClientPointer. Signed-off-by: Peter Hutterer --- Xi/getcptr.c | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/Xi/getcptr.c b/Xi/getcptr.c index 9cce5c35b..92fae8244 100644 --- a/Xi/getcptr.c +++ b/Xi/getcptr.c @@ -59,22 +59,21 @@ SProcXIGetClientPointer(ClientPtr client) int ProcXIGetClientPointer(ClientPtr client) { - int err; - WindowPtr win; + int rc; ClientPtr winclient; xXIGetClientPointerReply rep; REQUEST(xXIGetClientPointerReq); REQUEST_SIZE_MATCH(xXIGetClientPointerReq); - err = dixLookupWindow(&win, stuff->win, client, DixReadAccess); - if (err != Success) + if (stuff->win != None) { - SendErrorToClient(client, IReqCode, X_XIGetClientPointer, - stuff->win, err); - return Success; - } + rc = dixLookupClient(&winclient, stuff->win, client, + DixWriteAccess); - winclient = wClient(win); + if (rc != Success) + return BadWindow; + } else + winclient = client; rep.repType = X_Reply; rep.RepType = X_XIGetClientPointer;