This patch has been prepared with the following Coccinelle semantic patch:

@@
expression a, b, c, d;
identifier r;
@@
-r = SecurityLookupIDByType(a, b, c, d);
+int lookup_ret;
+lookup_ret = dixLookupResourceByType((pointer) &r, b, c, a, d);
+r = (lookup_ret == Success) ? r : NULL;

It was further edited to remove duplicate lookup_ret declarations.

Signed-off-by: Cyril Brulebois <[email protected]>
---
 hw/dmx/dmxpict.c |   75 +++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 52 insertions(+), 23 deletions(-)

diff --git a/hw/dmx/dmxpict.c b/hw/dmx/dmxpict.c
index 915e767..d4c8e64 100644
--- a/hw/dmx/dmxpict.c
+++ b/hw/dmx/dmxpict.c
@@ -267,13 +267,17 @@ static int dmxProcRenderCreateGlyphSet(ClientPtr client)
        GlyphSetPtr        glyphSet;
        dmxGlyphPrivPtr    glyphPriv;
        int                i;
+       int                lookup_ret;
 
        /* Look up glyphSet that was just created ???? */
        /* Store glyphsets from backends in glyphSet->devPrivate ????? */
        /* Make sure we handle all errors here!! */
-       
-       glyphSet = SecurityLookupIDByType(client, stuff->gsid, GlyphSetType,
-                                         DixDestroyAccess);
+
+       lookup_ret = dixLookupResourceByType((pointer) &glyphSet,
+                                            stuff->gsid, GlyphSetType,
+                                            client, DixDestroyAccess);
+       glyphSet = (lookup_ret == Success) ? glyphSet : NULL;
+
        glyphPriv = malloc(sizeof(dmxGlyphPrivRec));
        if (!glyphPriv) return BadAlloc;
         glyphPriv->glyphSets = NULL;
@@ -311,11 +315,14 @@ static int dmxProcRenderCreateGlyphSet(ClientPtr client)
 static int dmxProcRenderFreeGlyphSet(ClientPtr client)
 {
     GlyphSetPtr  glyphSet;
+    int          lookup_ret;
     REQUEST(xRenderFreeGlyphSetReq);
 
     REQUEST_SIZE_MATCH(xRenderFreeGlyphSetReq);
-    glyphSet = SecurityLookupIDByType(client, stuff->glyphset, GlyphSetType,
-                                     DixDestroyAccess);
+    lookup_ret = dixLookupResourceByType((pointer) &glyphSet,
+                                        stuff->glyphset, GlyphSetType,
+                                        client, DixDestroyAccess);
+    glyphSet = (lookup_ret == Success) ? glyphSet : NULL;
 
     if (glyphSet && glyphSet->refcnt == 1) {
        dmxGlyphPrivPtr  glyphPriv = DMX_GET_GLYPH_PRIV(glyphSet);
@@ -356,9 +363,12 @@ static int dmxProcRenderAddGlyphs(ClientPtr client)
        xGlyphInfo      *gi;
        CARD8           *bits;
        int              nbytes;
+       int              lookup_ret;
 
-       glyphSet = SecurityLookupIDByType(client, stuff->glyphset,
-                                         GlyphSetType, DixReadAccess);
+       lookup_ret = dixLookupResourceByType((pointer) &glyphSet,
+                                            stuff->glyphset, GlyphSetType,
+                                            client, DixReadAccess);
+       glyphSet = (lookup_ret == Success) ? glyphSet : NULL;
        glyphPriv = DMX_GET_GLYPH_PRIV(glyphSet);
 
        nglyphs = stuff->nglyphs;
@@ -397,11 +407,14 @@ static int dmxProcRenderAddGlyphs(ClientPtr client)
 static int dmxProcRenderFreeGlyphs(ClientPtr client)
 {
     GlyphSetPtr  glyphSet;
+    int          lookup_ret;
     REQUEST(xRenderFreeGlyphsReq);
 
     REQUEST_AT_LEAST_SIZE(xRenderFreeGlyphsReq);
-    glyphSet = SecurityLookupIDByType(client, stuff->glyphset, GlyphSetType,
-                                     DixWriteAccess);
+    lookup_ret = dixLookupResourceByType((pointer) &glyphSet,
+                                        stuff->glyphset, GlyphSetType,
+                                        client, DixWriteAccess);
+    glyphSet = (lookup_ret == Success) ? glyphSet : NULL;
 
     if (glyphSet) {
        dmxGlyphPrivPtr  glyphPriv = DMX_GET_GLYPH_PRIV(glyphSet);
@@ -472,14 +485,22 @@ static int dmxProcRenderCompositeGlyphs(ClientPtr client)
        GlyphSetPtr        glyphSet;
        dmxGlyphPrivPtr    glyphPriv;
 
-       pSrc = SecurityLookupIDByType(client, stuff->src, PictureType,
-                                     DixReadAccess);
+       int                lookup_ret;
+
+       lookup_ret = dixLookupResourceByType((pointer) &pSrc,
+                                            stuff->src, PictureType,
+                                            client, DixReadAccess);
+       pSrc = (lookup_ret == Success) ? pSrc : NULL;
+
        pSrcPriv = DMX_GET_PICT_PRIV(pSrc);
        if (!pSrcPriv->pict)
            return ret;
 
-       pDst = SecurityLookupIDByType(client, stuff->dst, PictureType,
-                                     DixWriteAccess);
+       lookup_ret = dixLookupResourceByType((pointer) &pDst,
+                                            stuff->dst, PictureType,
+                                            client, DixWriteAccess);
+       pDst = (lookup_ret == Success) ? pDst : NULL;
+
        pDstPriv = DMX_GET_PICT_PRIV(pDst);
        if (!pDstPriv->pict)
            return ret;
@@ -494,10 +515,14 @@ static int dmxProcRenderCompositeGlyphs(ClientPtr client)
        if (!dmxScreen->beDisplay)
            return ret;
 
-       if (stuff->maskFormat)
-           pFmt = SecurityLookupIDByType(client, stuff->maskFormat,
-                                         PictFormatType, DixReadAccess);
-       else
+       if (stuff->maskFormat) {
+           lookup_ret = dixLookupResourceByType((pointer) &pFmt,
+                                                stuff->maskFormat,
+                                                PictFormatType,
+                                                client,
+                                                DixReadAccess);
+           pFmt = (lookup_ret == Success) ? pFmt : NULL;
+       } else
            pFmt = NULL;
 
        pFormat = dmxFindFormat(dmxScreen, pFmt);
@@ -546,8 +571,10 @@ static int dmxProcRenderCompositeGlyphs(ClientPtr client)
        curGlyph = glyphs;
        curElt = elts;
 
-       glyphSet = SecurityLookupIDByType(client, stuff->glyphset,
-                                         GlyphSetType, DixReadAccess);
+       lookup_ret = dixLookupResourceByType((pointer) &glyphSet,
+                                            stuff->glyphset, GlyphSetType,
+                                            client, DixReadAccess);
+       glyphSet = (lookup_ret == Success) ? glyphSet : NULL;
        glyphPriv = DMX_GET_GLYPH_PRIV(glyphSet);
 
        while (buffer + sizeof(xGlyphElt) < end) {
@@ -555,10 +582,12 @@ static int dmxProcRenderCompositeGlyphs(ClientPtr client)
            buffer += sizeof(xGlyphElt);
 
            if (elt->len == 0xff) {
-               glyphSet = SecurityLookupIDByType(client,
-                                                 *((CARD32 *)buffer),
-                                                 GlyphSetType,
-                                                 DixReadAccess);
+               lookup_ret = dixLookupResourceByType((pointer) &glyphSet,
+                                                    *((CARD32 *)buffer),
+                                                    GlyphSetType,
+                                                    client,
+                                                    DixReadAccess);
+               glyphSet = (lookup_ret == Success) ? glyphSet : NULL;
                glyphPriv = DMX_GET_GLYPH_PRIV(glyphSet);
                buffer += 4;
            } else {
-- 
1.7.2.3

_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to