xserver: Branch 'master'

Peter Hutterer whot at kemper.freedesktop.org
Mon Oct 19 18:05:32 PDT 2015


 Xi/xichangehierarchy.c |    6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

New commits:
commit ee06f674bbcd796324d6daf69bfb5d8856e94008
Author: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
Date:   Thu Oct 15 22:28:49 2015 -0700

    Xi: Silence some tautological warnings
    
    xichangehierarchy.c:424:23: warning: comparison of constant 536870911 with expression of type 'uint16_t'
          (aka 'unsigned short') is always false [-Wtautological-constant-out-of-range-compare,Semantic Issue]
        if (stuff->length > (INT_MAX >> 2))
            ~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~
    xichangehierarchy.c:438:26: warning: comparison of constant 536870911 with expression of type 'uint16_t'
          (aka 'unsigned short') is always false [-Wtautological-constant-out-of-range-compare,Semantic Issue]
            if ((any->length > (INT_MAX >> 2)) || (len < (any->length << 2)))
                 ~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~
    
    Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
    Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
    Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>

diff --git a/Xi/xichangehierarchy.c b/Xi/xichangehierarchy.c
index 2732445..8d5b577 100644
--- a/Xi/xichangehierarchy.c
+++ b/Xi/xichangehierarchy.c
@@ -421,9 +421,7 @@ ProcXIChangeHierarchy(ClientPtr client)
     if (!stuff->num_changes)
         return rc;
 
-    if (stuff->length > (INT_MAX >> 2))
-        return BadAlloc;
-    len = (stuff->length << 2) - sizeof(xXIAnyHierarchyChangeInfo);
+    len = ((size_t)stuff->length << 2) - sizeof(xXIAnyHierarchyChangeInfo);
 
     any = (xXIAnyHierarchyChangeInfo *) &stuff[1];
     while (stuff->num_changes--) {
@@ -435,7 +433,7 @@ ProcXIChangeHierarchy(ClientPtr client)
         SWAPIF(swaps(&any->type));
         SWAPIF(swaps(&any->length));
 
-        if ((any->length > (INT_MAX >> 2)) || (len < (any->length << 2)))
+        if (len < ((size_t)any->length << 2))
             return BadLength;
 
 #define CHANGE_SIZE_MATCH(type) \


More information about the xorg-commit mailing list