xace: add special-case for just setting the event mask on a window,

this should only check "receive" permission, not "setattr" permission.
This commit is contained in:
Eamon Walsh 2007-09-19 11:11:41 -04:00 committed by Eamon Walsh
parent 97c150b61b
commit 963e69b8ef

View File

@ -570,11 +570,13 @@ ProcChangeWindowAttributes(ClientPtr client)
{ {
WindowPtr pWin; WindowPtr pWin;
REQUEST(xChangeWindowAttributesReq); REQUEST(xChangeWindowAttributesReq);
int result; int result, len, rc;
int len, rc; Mask access_mode = DixSetAttrAccess;
REQUEST_AT_LEAST_SIZE(xChangeWindowAttributesReq); REQUEST_AT_LEAST_SIZE(xChangeWindowAttributesReq);
rc = dixLookupWindow(&pWin, stuff->window, client, DixSetAttrAccess); if (stuff->valueMask == CWEventMask)
access_mode = DixReceiveAccess;
rc = dixLookupWindow(&pWin, stuff->window, client, access_mode);
if (rc != Success) if (rc != Success)
return rc; return rc;
len = client->req_len - (sizeof(xChangeWindowAttributesReq) >> 2); len = client->req_len - (sizeof(xChangeWindowAttributesReq) >> 2);