Module Name:    xsrc
Committed By:   mrg
Date:           Wed Dec 10 09:15:43 UTC 2014

Modified Files:
        xsrc/external/mit/xorg-server/dist/include: dix.h
        xsrc/external/mit/xorg-server/dist/os: access.c

Log Message:
apply two more parts of CVE-2014-8092:
  Missing parens in REQUEST_FIXED_SIZE macro [CVE-2014-8092 pt. 5]
  dix: GetHosts bounds check using wrong pointer value [CVE-2014-8092 pt. 6]


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 xsrc/external/mit/xorg-server/dist/include/dix.h
cvs rdiff -u -r1.2 -r1.3 xsrc/external/mit/xorg-server/dist/os/access.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: xsrc/external/mit/xorg-server/dist/include/dix.h
diff -u xsrc/external/mit/xorg-server/dist/include/dix.h:1.2 xsrc/external/mit/xorg-server/dist/include/dix.h:1.3
--- xsrc/external/mit/xorg-server/dist/include/dix.h:1.2	Tue Dec  9 19:26:18 2014
+++ xsrc/external/mit/xorg-server/dist/include/dix.h	Wed Dec 10 09:15:43 2014
@@ -80,7 +80,7 @@ SOFTWARE.
 
 #define REQUEST_FIXED_SIZE(req, n)\
     if (((sizeof(req) >> 2) > client->req_len) || \
-        ((n >> 2) >= client->req_len) || \
+        (((n) >> 2) >= client->req_len) || \
         ((((uint64_t) sizeof(req) + (n) + 3) >> 2) != (uint64_t) client->req_len))  \
          return(BadLength)
 

Index: xsrc/external/mit/xorg-server/dist/os/access.c
diff -u xsrc/external/mit/xorg-server/dist/os/access.c:1.2 xsrc/external/mit/xorg-server/dist/os/access.c:1.3
--- xsrc/external/mit/xorg-server/dist/os/access.c:1.2	Tue Dec  9 19:26:18 2014
+++ xsrc/external/mit/xorg-server/dist/os/access.c	Wed Dec 10 09:15:43 2014
@@ -1420,7 +1420,7 @@ GetHosts (
         for (host = validhosts; host; host = host->next)
 	{
 	    len = host->len;
-            if ((ptr + sizeof(xHostEntry) + len) > (data + n))
+            if ((ptr + sizeof(xHostEntry) + len) > ((unsigned char *) *data + n))
                 break;
 	    ((xHostEntry *)ptr)->family = host->family;
 	    ((xHostEntry *)ptr)->length = len;

Reply via email to