xselinux: Allow GetWindowContext to be used for pixmaps as well.
Signed-off-by: Eamon Walsh <ewalsh@tycho.nsa.gov> Reviewed-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
parent
eb9210097e
commit
ab68c707fd
|
@ -223,18 +223,26 @@ ProcSELinuxGetDeviceContext(ClientPtr client)
|
||||||
static int
|
static int
|
||||||
ProcSELinuxGetWindowContext(ClientPtr client)
|
ProcSELinuxGetWindowContext(ClientPtr client)
|
||||||
{
|
{
|
||||||
WindowPtr pWin;
|
DrawablePtr pDraw;
|
||||||
|
PrivateRec **privatePtr;
|
||||||
SELinuxObjectRec *obj;
|
SELinuxObjectRec *obj;
|
||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
REQUEST(SELinuxGetContextReq);
|
REQUEST(SELinuxGetContextReq);
|
||||||
REQUEST_SIZE_MATCH(SELinuxGetContextReq);
|
REQUEST_SIZE_MATCH(SELinuxGetContextReq);
|
||||||
|
|
||||||
rc = dixLookupWindow(&pWin, stuff->id, client, DixGetAttrAccess);
|
rc = dixLookupDrawable(&pDraw, stuff->id, client,
|
||||||
|
M_WINDOW | M_DRAWABLE_PIXMAP,
|
||||||
|
DixGetAttrAccess);
|
||||||
if (rc != Success)
|
if (rc != Success)
|
||||||
return rc;
|
return rc;
|
||||||
|
|
||||||
obj = dixLookupPrivate(&pWin->devPrivates, objectKey);
|
if (pDraw->type == M_DRAWABLE_PIXMAP)
|
||||||
|
privatePtr = &((PixmapPtr)pDraw)->devPrivates;
|
||||||
|
else
|
||||||
|
privatePtr = &((WindowPtr)pDraw)->devPrivates;
|
||||||
|
|
||||||
|
obj = dixLookupPrivate(privatePtr, objectKey);
|
||||||
return SELinuxSendContextReply(client, obj->sid);
|
return SELinuxSendContextReply(client, obj->sid);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue