xace: add new fields to resource access hook to allow parent resource objects
to be passed in at create time. Also added a missing devPrivates initializer.
This commit is contained in:
@@ -377,12 +377,12 @@ AnimCursorCreate (CursorPtr *cursors, CARD32 *deltas, int ncursor, CursorPtr *pp
|
||||
pCursor->backGreen = cursors[0]->backGreen;
|
||||
pCursor->backBlue = cursors[0]->backBlue;
|
||||
|
||||
pCursor->devPrivates = NULL;
|
||||
pCursor->id = cid;
|
||||
pCursor->devPrivates = NULL;
|
||||
|
||||
/* security creation/labeling check */
|
||||
rc = XaceHook(XACE_RESOURCE_ACCESS, client, cid, RT_CURSOR,
|
||||
DixCreateAccess, pCursor);
|
||||
rc = XaceHook(XACE_RESOURCE_ACCESS, client, cid, RT_CURSOR, pCursor,
|
||||
RT_NONE, NULL, DixCreateAccess);
|
||||
if (rc != Success) {
|
||||
dixFreePrivates(pCursor->devPrivates);
|
||||
xfree(pCursor);
|
||||
|
||||
@@ -727,8 +727,8 @@ CreatePicture (Picture pid,
|
||||
pPicture->devPrivates = NULL;
|
||||
|
||||
/* security creation/labeling check */
|
||||
*error = XaceHook(XACE_RESOURCE_ACCESS, client, pid, PictureType,
|
||||
DixCreateAccess|DixSetAttrAccess, pPicture);
|
||||
*error = XaceHook(XACE_RESOURCE_ACCESS, client, pid, PictureType, pPicture,
|
||||
RC_DRAWABLE, pDrawable, DixCreateAccess|DixSetAttrAccess);
|
||||
if (*error != Success)
|
||||
goto out;
|
||||
|
||||
|
||||
@@ -1025,7 +1025,7 @@ ProcRenderCreateGlyphSet (ClientPtr client)
|
||||
return BadAlloc;
|
||||
/* security creation/labeling check */
|
||||
rc = XaceHook(XACE_RESOURCE_ACCESS, client, stuff->gsid, GlyphSetType,
|
||||
DixCreateAccess, glyphSet);
|
||||
glyphSet, RT_NONE, NULL, DixCreateAccess);
|
||||
if (rc != Success)
|
||||
return rc;
|
||||
if (!AddResource (stuff->gsid, GlyphSetType, (pointer)glyphSet))
|
||||
@@ -1903,7 +1903,7 @@ static int ProcRenderCreateSolidFill(ClientPtr client)
|
||||
return error;
|
||||
/* security creation/labeling check */
|
||||
error = XaceHook(XACE_RESOURCE_ACCESS, client, stuff->pid, PictureType,
|
||||
DixCreateAccess, pPicture);
|
||||
pPicture, RT_NONE, NULL, DixCreateAccess);
|
||||
if (error != Success)
|
||||
return error;
|
||||
if (!AddResource (stuff->pid, PictureType, (pointer)pPicture))
|
||||
@@ -1937,7 +1937,7 @@ static int ProcRenderCreateLinearGradient (ClientPtr client)
|
||||
return error;
|
||||
/* security creation/labeling check */
|
||||
error = XaceHook(XACE_RESOURCE_ACCESS, client, stuff->pid, PictureType,
|
||||
DixCreateAccess, pPicture);
|
||||
pPicture, RT_NONE, NULL, DixCreateAccess);
|
||||
if (error != Success)
|
||||
return error;
|
||||
if (!AddResource (stuff->pid, PictureType, (pointer)pPicture))
|
||||
@@ -1972,7 +1972,7 @@ static int ProcRenderCreateRadialGradient (ClientPtr client)
|
||||
return error;
|
||||
/* security creation/labeling check */
|
||||
error = XaceHook(XACE_RESOURCE_ACCESS, client, stuff->pid, PictureType,
|
||||
DixCreateAccess, pPicture);
|
||||
pPicture, RT_NONE, NULL, DixCreateAccess);
|
||||
if (error != Success)
|
||||
return error;
|
||||
if (!AddResource (stuff->pid, PictureType, (pointer)pPicture))
|
||||
@@ -2006,7 +2006,7 @@ static int ProcRenderCreateConicalGradient (ClientPtr client)
|
||||
return error;
|
||||
/* security creation/labeling check */
|
||||
error = XaceHook(XACE_RESOURCE_ACCESS, client, stuff->pid, PictureType,
|
||||
DixCreateAccess, pPicture);
|
||||
pPicture, RT_NONE, NULL, DixCreateAccess);
|
||||
if (error != Success)
|
||||
return error;
|
||||
if (!AddResource (stuff->pid, PictureType, (pointer)pPicture))
|
||||
|
||||
Reference in New Issue
Block a user