Hello community,

here is the log from the commit of package xorg-x11-server for openSUSE:Factory 
checked in at 2017-10-23 16:36:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xorg-x11-server (Old)
 and      /work/SRC/openSUSE:Factory/.xorg-x11-server.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "xorg-x11-server"

Mon Oct 23 16:36:06 2017 rev:348 rq:533781 version:1.19.5

Changes:
--------
--- /work/SRC/openSUSE:Factory/xorg-x11-server/xorg-x11-server.changes  
2017-10-10 11:35:55.938048806 +0200
+++ /work/SRC/openSUSE:Factory/.xorg-x11-server.new/xorg-x11-server.changes     
2017-10-23 16:36:09.916777437 +0200
@@ -1,0 +2,7 @@
+Thu Oct 12 21:13:38 UTC 2017 - tobias.johannes.klausm...@mni.thm.de
+
+- Update to version 1.19.5:
+  One regression fix since 1.19.4, and fixes for CVE-2017-12176 through
+  CVE-2017-12187.
+
+-------------------------------------------------------------------

Old:
----
  xorg-server-1.19.4.tar.bz2

New:
----
  xorg-server-1.19.5.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ xorg-x11-server.spec ++++++
--- /var/tmp/diff_new_pack.YePGvC/_old  2017-10-23 16:36:11.404707778 +0200
+++ /var/tmp/diff_new_pack.YePGvC/_new  2017-10-23 16:36:11.404707778 +0200
@@ -41,7 +41,7 @@
 %endif
 
 Name:           xorg-x11-server
-Version:        1.19.4
+Version:        1.19.5
 Release:        0
 Url:            http://xorg.freedesktop.org/
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build

++++++ xorg-server-1.19.4.tar.bz2 -> xorg-server-1.19.5.tar.bz2 ++++++
++++ 3553 lines of diff (skipped)
++++    retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xorg-server-1.19.4/ChangeLog new/xorg-server-1.19.5/ChangeLog
--- old/xorg-server-1.19.4/ChangeLog    2017-10-04 23:57:39.000000000 +0200
+++ new/xorg-server-1.19.5/ChangeLog    2017-10-12 19:25:36.000000000 +0200
@@ -1,3 +1,153 @@
+commit b96e982e3a43513549636850186ff80a82190f64
+Author: Adam Jackson <a...@redhat.com>
+Date:   Thu Oct 12 12:32:31 2017 -0400
+
+    xserver 1.19.5
+    
+    Signed-off-by: Adam Jackson <a...@redhat.com>
+
+commit 95f605b42d8bbb6bea2834a1abfc205981c5b803
+Author: Nathan Kidd <nk...@opentext.com>
+Date:   Fri Jan 9 10:15:46 2015 -0500
+
+    Unvalidated extra length in ProcEstablishConnection (CVE-2017-12176)
+    
+    Reviewed-by: Julien Cristau <jcris...@debian.org>
+    Signed-off-by: Nathan Kidd <nk...@opentext.com>
+    Signed-off-by: Julien Cristau <jcris...@debian.org>
+    (cherry picked from commit b747da5e25be944337a9cd1415506fc06b70aa81)
+
+commit cc41e5b581d287c56f8d7113a97a4882dcfdd696
+Author: Nathan Kidd <nk...@opentext.com>
+Date:   Fri Jan 9 10:09:14 2015 -0500
+
+    dbe: Unvalidated variable-length request in ProcDbeGetVisualInfo 
(CVE-2017-12177)
+    
+    v2: Protect against integer overflow (Alan Coopersmith)
+    
+    Reviewed-by: Alan Coopersmith <alan.coopersm...@oracle.com>
+    Reviewed-by: Jeremy Huddleston Sequoia <jerem...@apple.com>
+    Reviewed-by: Julien Cristau <jcris...@debian.org>
+    Signed-off-by: Nathan Kidd <nk...@opentext.com>
+    Signed-off-by: Julien Cristau <jcris...@debian.org>
+    (cherry picked from commit 4ca68b878e851e2136c234f40a25008297d8d831)
+
+commit 6c15122163a2d2615db7e998e8d436815a08dec6
+Author: Nathan Kidd <nk...@opentext.com>
+Date:   Wed Dec 24 16:22:18 2014 -0500
+
+    Xi: fix wrong extra length check in ProcXIChangeHierarchy (CVE-2017-12178)
+    
+    Reviewed-by: Alan Coopersmith <alan.coopersm...@oracle.com>
+    Reviewed-by: Jeremy Huddleston Sequoia <jerem...@apple.com>
+    Reviewed-by: Julien Cristau <jcris...@debian.org>
+    Signed-off-by: Nathan Kidd <nk...@opentext.com>
+    Signed-off-by: Julien Cristau <jcris...@debian.org>
+    (cherry picked from commit 859b08d523307eebde7724fd1a0789c44813e821)
+
+commit c77cd08efcf386bcc5d8dfbd0427134b2b2d0888
+Author: Nathan Kidd <nk...@opentext.com>
+Date:   Fri Jan 9 10:04:41 2015 -0500
+
+    Xi: integer overflow and unvalidated length in 
(S)ProcXIBarrierReleasePointer
+    
+    [jcristau: originally this patch fixed the same issue as commit
+     211e05ac85 "Xi: Test exact size of XIBarrierReleasePointer", with the
+     addition of these checks]
+    
+    This addresses CVE-2017-12179
+    
+    Reviewed-by: Alan Coopersmith <alan.coopersm...@oracle.com>
+    Reviewed-by: Jeremy Huddleston Sequoia <jerem...@apple.com>
+    Reviewed-by: Julien Cristau <jcris...@debian.org>
+    Signed-off-by: Jeremy Huddleston Sequoia <jerem...@apple.com>
+    Signed-off-by: Nathan Kidd <nk...@opentext.com>
+    Signed-off-by: Julien Cristau <jcris...@debian.org>
+    (cherry picked from commit d088e3c1286b548a58e62afdc70bb40981cdb9e8)
+
+commit d264da92f7f8129b8aad4f0114a6467fc38fc896
+Author: Nathan Kidd <nk...@opentext.com>
+Date:   Sun Dec 21 01:10:03 2014 -0500
+
+    hw/xfree86: unvalidated lengths
+    
+    This addresses:
+    CVE-2017-12180 in XFree86-VidModeExtension
+    CVE-2017-12181 in XFree86-DGA
+    CVE-2017-12182 in XFree86-DRI
+    
+    Reviewed-by: Jeremy Huddleston Sequoia <jerem...@apple.com>
+    Reviewed-by: Julien Cristau <jcris...@debian.org>
+    Signed-off-by: Nathan Kidd <nk...@opentext.com>
+    Signed-off-by: Julien Cristau <jcris...@debian.org>
+    (cherry picked from commit 1b1d4c04695dced2463404174b50b3581dbd857b)
+
+commit 61502107a30d64f991784648c3228ebc6694a032
+Author: Nathan Kidd <nk...@opentext.com>
+Date:   Fri Jan 9 11:43:05 2015 -0500
+
+    xfixes: unvalidated lengths (CVE-2017-12183)
+    
+    v2: Use before swap (Jeremy Huddleston Sequoia)
+    
+    v3: Fix wrong XFixesCopyRegion checks (Alan Coopersmith)
+    
+    Reviewed-by: Alan Coopersmith <alan.coopersm...@oracle.com>
+    Reviewed-by: Jeremy Huddleston Sequoia <jerem...@apple.com>
+    Reviewed-by: Julien Cristau <jcris...@debian.org>
+    Signed-off-by: Jeremy Huddleston Sequoia <jerem...@apple.com>
+    Signed-off-by: Nathan Kidd <nk...@opentext.com>
+    Signed-off-by: Julien Cristau <jcris...@debian.org>
+    (cherry picked from commit 55caa8b08c84af2b50fbc936cf334a5a93dd7db5)
+
+commit c206f36a4b6ecf2555ab2291c349ab7d7d0b02f5
+Author: Nathan Kidd <nk...@opentext.com>
+Date:   Fri Jan 9 09:57:23 2015 -0500
+
+    Unvalidated lengths
+    
+    v2: Add overflow check and remove unnecessary check (Julien Cristau)
+    
+    This addresses:
+    CVE-2017-12184 in XINERAMA
+    CVE-2017-12185 in MIT-SCREEN-SAVER
+    CVE-2017-12186 in X-Resource
+    CVE-2017-12187 in RENDER
+    
+    Reviewed-by: Jeremy Huddleston Sequoia <jerem...@apple.com>
+    Reviewed-by: Julien Cristau <jcris...@debian.org>
+    Signed-off-by: Nathan Kidd <nk...@opentext.com>
+    Signed-off-by: Julien Cristau <jcris...@debian.org>
+    (cherry picked from commit cad5a1050b7184d828aef9c1dd151c3ab649d37e)
+
+commit e751722a7b0c5b595794e60b054ade0b3f6cdb4d
+Author: Michal Srb <m...@suse.com>
+Date:   Fri Jul 7 17:04:03 2017 +0200
+
+    os: Make sure big requests have sufficient length.
+    
+    A client can send a big request where the 32B "length" field has value
+    0. When the big request header is removed and the length corrected,
+    the value will underflow to 0xFFFFFFFF.  Functions processing the
+    request later will think that the client sent much more data and may
+    touch memory beyond the receive buffer.
+    
+    Signed-off-by: Eric Anholt <e...@anholt.net>
+    Reviewed-by: Peter Hutterer <peter.hutte...@who-t.net>
+    (cherry picked from commit 9c23685009aa96f4b861dcc5d2e01dbee00c4dd9)
+
+commit 784d205ff6527c761ffbb1c43c9ad3669dd8d26e
+Author: Adam Jackson <a...@redhat.com>
+Date:   Thu Oct 12 12:17:53 2017 -0400
+
+    Revert "xf86-video-modesetting: Add ms_queue_vblank helper [v3]"
+    
+    Apparently introduces a regression:
+    
+    https://bugs.freedesktop.org/103243
+    
+    This reverts commit 388dc1aeac9acf2d51ad5103570beffd81d78b96.
+
 commit ec37e559614cf4eaba67d3ca0693f09fd95a5d57
 Author: Adam Jackson <a...@redhat.com>
 Date:   Wed Oct 4 15:29:18 2017 -0400
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xorg-server-1.19.4/Xext/panoramiX.c new/xorg-server-1.19.5/Xext/panoramiX.c
--- old/xorg-server-1.19.4/Xext/panoramiX.c     2017-10-04 23:57:01.000000000 
+0200
+++ new/xorg-server-1.19.5/Xext/panoramiX.c     2017-10-12 19:24:59.000000000 
+0200
@@ -988,10 +988,11 @@
     xPanoramiXGetScreenSizeReply rep;
     int rc;
 
+    REQUEST_SIZE_MATCH(xPanoramiXGetScreenSizeReq);
+
     if (stuff->screen >= PanoramiXNumScreens)
         return BadMatch;
 
-    REQUEST_SIZE_MATCH(xPanoramiXGetScreenSizeReq);
     rc = dixLookupWindow(&pWin, stuff->window, client, DixGetAttrAccess);
     if (rc != Success)
         return rc;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xorg-server-1.19.4/Xext/saver.c new/xorg-server-1.19.5/Xext/saver.c
--- old/xorg-server-1.19.4/Xext/saver.c 2017-10-04 23:57:01.000000000 +0200
+++ new/xorg-server-1.19.5/Xext/saver.c 2017-10-12 19:24:59.000000000 +0200
@@ -1185,6 +1185,8 @@
         PanoramiXRes *draw;
         int rc, i;
 
+        REQUEST_SIZE_MATCH(xScreenSaverUnsetAttributesReq);
+
         rc = dixLookupResourceByClass((void **) &draw, stuff->drawable,
                                       XRC_DRAWABLE, client, DixWriteAccess);
         if (rc != Success)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xorg-server-1.19.4/Xext/vidmode.c new/xorg-server-1.19.5/Xext/vidmode.c
--- old/xorg-server-1.19.4/Xext/vidmode.c       2017-10-04 23:57:01.000000000 
+0200
+++ new/xorg-server-1.19.5/Xext/vidmode.c       2017-10-12 19:24:59.000000000 
+0200
@@ -454,6 +454,20 @@
     DEBUG_P("XF86VidModeAddModeline");
 
     ver = ClientMajorVersion(client);
+
+    if (ver < 2) {
+        REQUEST_AT_LEAST_SIZE(xXF86OldVidModeAddModeLineReq);
+        len =
+            client->req_len -
+            bytes_to_int32(sizeof(xXF86OldVidModeAddModeLineReq));
+    }
+    else {
+        REQUEST_AT_LEAST_SIZE(xXF86VidModeAddModeLineReq);
+        len =
+            client->req_len -
+            bytes_to_int32(sizeof(xXF86VidModeAddModeLineReq));
+    }
+
     if (ver < 2) {
         /* convert from old format */
         stuff = &newstuff;
@@ -501,18 +515,6 @@
            stuff->after_vsyncend, stuff->after_vtotal,
            (unsigned long) stuff->after_flags);
 
-    if (ver < 2) {
-        REQUEST_AT_LEAST_SIZE(xXF86OldVidModeAddModeLineReq);
-        len =
-            client->req_len -
-            bytes_to_int32(sizeof(xXF86OldVidModeAddModeLineReq));
-    }
-    else {
-        REQUEST_AT_LEAST_SIZE(xXF86VidModeAddModeLineReq);
-        len =
-            client->req_len -
-            bytes_to_int32(sizeof(xXF86VidModeAddModeLineReq));
-    }
     if (len != stuff->privsize)
         return BadLength;
 
@@ -622,6 +624,20 @@
     DEBUG_P("XF86VidModeDeleteModeline");
 
     ver = ClientMajorVersion(client);
+
+    if (ver < 2) {
+        REQUEST_AT_LEAST_SIZE(xXF86OldVidModeDeleteModeLineReq);
+        len =
+            client->req_len -
+            bytes_to_int32(sizeof(xXF86OldVidModeDeleteModeLineReq));
+    }
+    else {
+        REQUEST_AT_LEAST_SIZE(xXF86VidModeDeleteModeLineReq);
+        len =
+            client->req_len -
+            bytes_to_int32(sizeof(xXF86VidModeDeleteModeLineReq));
+    }
+
     if (ver < 2) {
         /* convert from old format */
         stuff = &newstuff;
@@ -649,18 +665,6 @@
            stuff->vdisplay, stuff->vsyncstart, stuff->vsyncend, stuff->vtotal,
            (unsigned long) stuff->flags);
 
-    if (ver < 2) {
-        REQUEST_AT_LEAST_SIZE(xXF86OldVidModeDeleteModeLineReq);
-        len =
-            client->req_len -
-            bytes_to_int32(sizeof(xXF86OldVidModeDeleteModeLineReq));
-    }
-    else {
-        REQUEST_AT_LEAST_SIZE(xXF86VidModeDeleteModeLineReq);
-        len =
-            client->req_len -
-            bytes_to_int32(sizeof(xXF86VidModeDeleteModeLineReq));
-    }
     if (len != stuff->privsize) {
         DebugF("req_len = %ld, sizeof(Req) = %d, privsize = %ld, "
                "len = %d, length = %d\n",
@@ -744,6 +748,20 @@
     DEBUG_P("XF86VidModeModModeline");
 
     ver = ClientMajorVersion(client);
+
+    if (ver < 2) {
+        REQUEST_AT_LEAST_SIZE(xXF86OldVidModeModModeLineReq);
+        len =
+            client->req_len -
+            bytes_to_int32(sizeof(xXF86OldVidModeModModeLineReq));
+    }
+    else {
+        REQUEST_AT_LEAST_SIZE(xXF86VidModeModModeLineReq);
+        len =
+            client->req_len -
+            bytes_to_int32(sizeof(xXF86VidModeModModeLineReq));
+    }
+
     if (ver < 2) {
         /* convert from old format */
         stuff = &newstuff;
@@ -768,18 +786,6 @@
            stuff->vdisplay, stuff->vsyncstart, stuff->vsyncend,
            stuff->vtotal, (unsigned long) stuff->flags);
 
-    if (ver < 2) {
-        REQUEST_AT_LEAST_SIZE(xXF86OldVidModeModModeLineReq);
-        len =
-            client->req_len -
-            bytes_to_int32(sizeof(xXF86OldVidModeModModeLineReq));
-    }
-    else {
-        REQUEST_AT_LEAST_SIZE(xXF86VidModeModModeLineReq);
-        len =
-            client->req_len -
-            bytes_to_int32(sizeof(xXF86VidModeModModeLineReq));
-    }
     if (len != stuff->privsize)
         return BadLength;
 
@@ -877,6 +883,19 @@
     DEBUG_P("XF86VidModeValidateModeline");
 
     ver = ClientMajorVersion(client);
+
+    if (ver < 2) {
+        REQUEST_AT_LEAST_SIZE(xXF86OldVidModeValidateModeLineReq);
+        len = client->req_len -
+            bytes_to_int32(sizeof(xXF86OldVidModeValidateModeLineReq));
+    }
+    else {
+        REQUEST_AT_LEAST_SIZE(xXF86VidModeValidateModeLineReq);
+        len =
+            client->req_len -
+            bytes_to_int32(sizeof(xXF86VidModeValidateModeLineReq));
+    }
+
     if (ver < 2) {
         /* convert from old format */
         stuff = &newstuff;
@@ -905,17 +924,6 @@
            stuff->vdisplay, stuff->vsyncstart, stuff->vsyncend, stuff->vtotal,
            (unsigned long) stuff->flags);
 
-    if (ver < 2) {
-        REQUEST_AT_LEAST_SIZE(xXF86OldVidModeValidateModeLineReq);
-        len = client->req_len -
-            bytes_to_int32(sizeof(xXF86OldVidModeValidateModeLineReq));
-    }
-    else {
-        REQUEST_AT_LEAST_SIZE(xXF86VidModeValidateModeLineReq);
-        len =
-            client->req_len -
-            bytes_to_int32(sizeof(xXF86VidModeValidateModeLineReq));
-    }
     if (len != stuff->privsize)
         return BadLength;
 
@@ -1027,6 +1035,20 @@
     DEBUG_P("XF86VidModeSwitchToMode");
 
     ver = ClientMajorVersion(client);
+
+    if (ver < 2) {
+        REQUEST_AT_LEAST_SIZE(xXF86OldVidModeSwitchToModeReq);
+        len =
+            client->req_len -
+            bytes_to_int32(sizeof(xXF86OldVidModeSwitchToModeReq));
+    }
+    else {
+        REQUEST_AT_LEAST_SIZE(xXF86VidModeSwitchToModeReq);
+        len =
+            client->req_len -
+            bytes_to_int32(sizeof(xXF86VidModeSwitchToModeReq));
+    }
+
     if (ver < 2) {
         /* convert from old format */
         stuff = &newstuff;
@@ -1055,18 +1077,6 @@
            stuff->vdisplay, stuff->vsyncstart, stuff->vsyncend, stuff->vtotal,
            (unsigned long) stuff->flags);
 
-    if (ver < 2) {
-        REQUEST_AT_LEAST_SIZE(xXF86OldVidModeSwitchToModeReq);
-        len =
-            client->req_len -
-            bytes_to_int32(sizeof(xXF86OldVidModeSwitchToModeReq));
-    }
-    else {
-        REQUEST_AT_LEAST_SIZE(xXF86VidModeSwitchToModeReq);
-        len =
-            client->req_len -
-            bytes_to_int32(sizeof(xXF86VidModeSwitchToModeReq));
-    }
     if (len != stuff->privsize)
         return BadLength;
 
@@ -1457,6 +1467,7 @@
     VidModePtr pVidMode;
 
     REQUEST(xXF86VidModeSetGammaRampReq);
+    REQUEST_AT_LEAST_SIZE(xXF86VidModeSetGammaRampReq);
 
     if (stuff->screen >= screenInfo.numScreens)
         return BadValue;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xorg-server-1.19.4/Xext/xres.c new/xorg-server-1.19.5/Xext/xres.c
--- old/xorg-server-1.19.4/Xext/xres.c  2017-10-04 23:57:01.000000000 +0200
+++ new/xorg-server-1.19.5/Xext/xres.c  2017-10-12 19:24:59.000000000 +0200
@@ -947,6 +947,8 @@
     ConstructResourceBytesCtx    ctx;
 
     REQUEST_AT_LEAST_SIZE(xXResQueryResourceBytesReq);
+    if (stuff->numSpecs > UINT32_MAX / sizeof(ctx.specs[0]))
+        return BadLength;
     REQUEST_FIXED_SIZE(xXResQueryResourceBytesReq,
                        stuff->numSpecs * sizeof(ctx.specs[0]));
 
@@ -1052,8 +1054,8 @@
     int c;
     xXResResourceIdSpec *specs = (void*) ((char*) stuff + sizeof(*stuff));
 
-    swapl(&stuff->numSpecs);
     REQUEST_AT_LEAST_SIZE(xXResQueryResourceBytesReq);
+    swapl(&stuff->numSpecs);
     REQUEST_FIXED_SIZE(xXResQueryResourceBytesReq,
                        stuff->numSpecs * sizeof(specs[0]));
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xorg-server-1.19.4/Xext/xvdisp.c new/xorg-server-1.19.5/Xext/xvdisp.c
--- old/xorg-server-1.19.4/Xext/xvdisp.c        2017-10-04 23:57:01.000000000 
+0200
+++ new/xorg-server-1.19.5/Xext/xvdisp.c        2017-10-12 19:24:59.000000000 
+0200
@@ -1493,12 +1493,14 @@
 {
     REQUEST(xvShmPutImageReq);
     PanoramiXRes *draw, *gc, *port;
-    Bool send_event = stuff->send_event;
+    Bool send_event;
     Bool isRoot;
     int result, i, x, y;
 
     REQUEST_SIZE_MATCH(xvShmPutImageReq);
 
+    send_event = stuff->send_event;
+
     result = dixLookupResourceByClass((void **) &draw, stuff->drawable,
                                       XRC_DRAWABLE, client, DixWriteAccess);
     if (result != Success)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xorg-server-1.19.4/Xi/xibarriers.c new/xorg-server-1.19.5/Xi/xibarriers.c
--- old/xorg-server-1.19.4/Xi/xibarriers.c      2017-10-04 23:57:01.000000000 
+0200
+++ new/xorg-server-1.19.5/Xi/xibarriers.c      2017-10-12 19:24:59.000000000 
+0200
@@ -834,6 +834,8 @@
     REQUEST_AT_LEAST_SIZE(xXIBarrierReleasePointerReq);
 
     swapl(&stuff->num_barriers);
+    if (stuff->num_barriers > UINT32_MAX / 
sizeof(xXIBarrierReleasePointerInfo))
+        return BadLength;
     REQUEST_FIXED_SIZE(xXIBarrierReleasePointerReq, stuff->num_barriers * 
sizeof(xXIBarrierReleasePointerInfo));
 
     info = (xXIBarrierReleasePointerInfo*) &stuff[1];
@@ -856,6 +858,9 @@
     xXIBarrierReleasePointerInfo *info;
 
     REQUEST(xXIBarrierReleasePointerReq);
+    REQUEST_AT_LEAST_SIZE(xXIBarrierReleasePointerReq);
+    if (stuff->num_barriers > UINT32_MAX / 
sizeof(xXIBarrierReleasePointerInfo))
+        return BadLength;
     REQUEST_FIXED_SIZE(xXIBarrierReleasePointerReq, stuff->num_barriers * 
sizeof(xXIBarrierReleasePointerInfo));
 
     info = (xXIBarrierReleasePointerInfo*) &stuff[1];
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xorg-server-1.19.4/Xi/xichangehierarchy.c 
new/xorg-server-1.19.5/Xi/xichangehierarchy.c
--- old/xorg-server-1.19.4/Xi/xichangehierarchy.c       2017-10-04 
23:57:01.000000000 +0200
+++ new/xorg-server-1.19.5/Xi/xichangehierarchy.c       2017-10-12 
19:24:59.000000000 +0200
@@ -423,7 +423,7 @@
     if (!stuff->num_changes)
         return rc;
 
-    len = ((size_t)stuff->length << 2) - sizeof(xXIAnyHierarchyChangeInfo);
+    len = ((size_t)stuff->length << 2) - sizeof(xXIChangeHierarchyReq);
 
     any = (xXIAnyHierarchyChangeInfo *) &stuff[1];
     while (stuff->num_changes--) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xorg-server-1.19.4/compile new/xorg-server-1.19.5/compile
--- old/xorg-server-1.19.4/compile      2017-10-04 23:57:16.000000000 +0200
+++ new/xorg-server-1.19.5/compile      2017-10-12 19:25:15.000000000 +0200
@@ -1,9 +1,9 @@
 #! /bin/sh
 # Wrapper for compilers which do not understand '-c -o'.
 
-scriptversion=2012-10-14.11; # UTC
+scriptversion=2016-01-11.22; # UTC
 
-# Copyright (C) 1999-2014 Free Software Foundation, Inc.
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
 # Written by Tom Tromey <tro...@cygnus.com>.
 #
 # This program is free software; you can redistribute it and/or modify
@@ -255,7 +255,8 @@
     echo "compile $scriptversion"
     exit $?
     ;;
-  cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
+  cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \
+  icl | *[/\\]icl | icl.exe | *[/\\]icl.exe )
     func_cl_wrapper "$@"      # Doesn't return...
     ;;
 esac
@@ -342,6 +343,6 @@
 # eval: (add-hook 'write-file-hooks 'time-stamp)
 # time-stamp-start: "scriptversion="
 # time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
 # time-stamp-end: "; # UTC"
 # End:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xorg-server-1.19.4/configure.ac new/xorg-server-1.19.5/configure.ac
--- old/xorg-server-1.19.4/configure.ac 2017-10-04 23:57:01.000000000 +0200
+++ new/xorg-server-1.19.5/configure.ac 2017-10-12 19:24:59.000000000 +0200
@@ -26,9 +26,9 @@
 dnl Process this file with autoconf to create configure.
 
 AC_PREREQ(2.60)
-AC_INIT([xorg-server], 1.19.4, 
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
-RELEASE_DATE="2017-10-04"
-RELEASE_NAME="French Onion Soup"
+AC_INIT([xorg-server], 1.19.5, 
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
+RELEASE_DATE="2017-10-12"
+RELEASE_NAME="Shahi Paneer"
 AC_CONFIG_SRCDIR([Makefile.am])
 AC_CONFIG_MACRO_DIR([m4])
 AM_INIT_AUTOMAKE([foreign dist-bzip2])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xorg-server-1.19.4/dbe/dbe.c new/xorg-server-1.19.5/dbe/dbe.c
--- old/xorg-server-1.19.4/dbe/dbe.c    2017-10-04 23:57:01.000000000 +0200
+++ new/xorg-server-1.19.5/dbe/dbe.c    2017-10-12 19:24:59.000000000 +0200
@@ -574,6 +574,9 @@
     XdbeScreenVisualInfo *pScrVisInfo;
 
     REQUEST_AT_LEAST_SIZE(xDbeGetVisualInfoReq);
+    if (stuff->n > UINT32_MAX / sizeof(CARD32))
+        return BadLength;
+    REQUEST_FIXED_SIZE(xDbeGetVisualInfoReq, stuff->n * sizeof(CARD32));
 
     if (stuff->n > UINT32_MAX / sizeof(DrawablePtr))
         return BadAlloc;
@@ -924,7 +927,7 @@
 
     swapl(&stuff->n);
     if (stuff->n > UINT32_MAX / sizeof(DbeSwapInfoRec))
-        return BadAlloc;
+        return BadLength;
     REQUEST_FIXED_SIZE(xDbeSwapBuffersReq, stuff->n * sizeof(xDbeSwapInfo));
 
     if (stuff->n != 0) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xorg-server-1.19.4/dix/dispatch.c new/xorg-server-1.19.5/dix/dispatch.c
--- old/xorg-server-1.19.4/dix/dispatch.c       2017-10-04 23:57:01.000000000 
+0200
+++ new/xorg-server-1.19.5/dix/dispatch.c       2017-10-12 19:24:59.000000000 
+0200
@@ -3703,7 +3703,12 @@
     prefix = (xConnClientPrefix *) ((char *) stuff + sz_xReq);
     auth_proto = (char *) prefix + sz_xConnClientPrefix;
     auth_string = auth_proto + pad_to_int32(prefix->nbytesAuthProto);
-    if ((prefix->majorVersion != X_PROTOCOL) ||
+
+    if ((client->req_len << 2) != sz_xReq + sz_xConnClientPrefix +
+       pad_to_int32(prefix->nbytesAuthProto) +
+       pad_to_int32(prefix->nbytesAuthString))
+        reason = "Bad length";
+    else if ((prefix->majorVersion != X_PROTOCOL) ||
         (prefix->minorVersion != X_PROTOCOL_REVISION))
         reason = "Protocol version mismatch";
     else
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xorg-server-1.19.4/hw/dmx/dmxpict.c new/xorg-server-1.19.5/hw/dmx/dmxpict.c
--- old/xorg-server-1.19.4/hw/dmx/dmxpict.c     2017-10-04 23:57:01.000000000 
+0200
+++ new/xorg-server-1.19.5/hw/dmx/dmxpict.c     2017-10-12 19:24:59.000000000 
+0200
@@ -716,6 +716,8 @@
         filter = (char *) (stuff + 1);
         params = (XFixed *) (filter + ((stuff->nbytes + 3) & ~3));
         nparams = ((XFixed *) stuff + client->req_len) - params;
+        if (nparams < 0)
+            return BadLength;
 
         XRenderSetPictureFilter(dmxScreen->beDisplay,
                                 pPictPriv->pict, filter, params, nparams);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xorg-server-1.19.4/hw/xfree86/common/xf86DGA.c 
new/xorg-server-1.19.5/hw/xfree86/common/xf86DGA.c
--- old/xorg-server-1.19.4/hw/xfree86/common/xf86DGA.c  2017-10-04 
23:57:01.000000000 +0200
+++ new/xorg-server-1.19.5/hw/xfree86/common/xf86DGA.c  2017-10-12 
19:24:59.000000000 +0200
@@ -1272,13 +1272,14 @@
     char *deviceName;
     int nameSize;
 
+    REQUEST_SIZE_MATCH(xXDGAOpenFramebufferReq);
+
     if (stuff->screen >= screenInfo.numScreens)
         return BadValue;
 
     if (!DGAAvailable(stuff->screen))
         return DGAErrorBase + XF86DGANoDirectVideoMode;
 
-    REQUEST_SIZE_MATCH(xXDGAOpenFramebufferReq);
     rep.type = X_Reply;
     rep.length = 0;
     rep.sequenceNumber = client->sequence;
@@ -1305,14 +1306,14 @@
 {
     REQUEST(xXDGACloseFramebufferReq);
 
+    REQUEST_SIZE_MATCH(xXDGACloseFramebufferReq);
+
     if (stuff->screen >= screenInfo.numScreens)
         return BadValue;
 
     if (!DGAAvailable(stuff->screen))
         return DGAErrorBase + XF86DGANoDirectVideoMode;
 
-    REQUEST_SIZE_MATCH(xXDGACloseFramebufferReq);
-
     DGACloseFramebuffer(stuff->screen);
 
     return Success;
@@ -1328,10 +1329,11 @@
     xXDGAModeInfo info;
     XDGAModePtr mode;
 
+    REQUEST_SIZE_MATCH(xXDGAQueryModesReq);
+
     if (stuff->screen >= screenInfo.numScreens)
         return BadValue;
 
-    REQUEST_SIZE_MATCH(xXDGAQueryModesReq);
     rep.type = X_Reply;
     rep.length = 0;
     rep.number = 0;
@@ -1443,11 +1445,12 @@
     ClientPtr owner;
     int size;
 
+    REQUEST_SIZE_MATCH(xXDGASetModeReq);
+
     if (stuff->screen >= screenInfo.numScreens)
         return BadValue;
     owner = DGA_GETCLIENT(stuff->screen);
 
-    REQUEST_SIZE_MATCH(xXDGASetModeReq);
     rep.type = X_Reply;
     rep.length = 0;
     rep.offset = 0;
@@ -1533,14 +1536,14 @@
 {
     REQUEST(xXDGASetViewportReq);
 
+    REQUEST_SIZE_MATCH(xXDGASetViewportReq);
+
     if (stuff->screen >= screenInfo.numScreens)
         return BadValue;
 
     if (DGA_GETCLIENT(stuff->screen) != client)
         return DGAErrorBase + XF86DGADirectNotActivated;
 
-    REQUEST_SIZE_MATCH(xXDGASetViewportReq);
-
     DGASetViewport(stuff->screen, stuff->x, stuff->y, stuff->flags);
 
     return Success;
@@ -1554,14 +1557,14 @@
 
     REQUEST(xXDGAInstallColormapReq);
 
+    REQUEST_SIZE_MATCH(xXDGAInstallColormapReq);
+
     if (stuff->screen >= screenInfo.numScreens)
         return BadValue;
 
     if (DGA_GETCLIENT(stuff->screen) != client)
         return DGAErrorBase + XF86DGADirectNotActivated;
 
-    REQUEST_SIZE_MATCH(xXDGAInstallColormapReq);
-
     rc = dixLookupResourceByType((void **) &cmap, stuff->cmap, RT_COLORMAP,
                                  client, DixInstallAccess);
     if (rc != Success)
@@ -1575,14 +1578,14 @@
 {
     REQUEST(xXDGASelectInputReq);
 
+    REQUEST_SIZE_MATCH(xXDGASelectInputReq);
+
     if (stuff->screen >= screenInfo.numScreens)
         return BadValue;
 
     if (DGA_GETCLIENT(stuff->screen) != client)
         return DGAErrorBase + XF86DGADirectNotActivated;
 
-    REQUEST_SIZE_MATCH(xXDGASelectInputReq);
-
     if (DGA_GETCLIENT(stuff->screen) == client)
         DGASelectInput(stuff->screen, client, stuff->mask);
 
@@ -1594,14 +1597,14 @@
 {
     REQUEST(xXDGAFillRectangleReq);
 
+    REQUEST_SIZE_MATCH(xXDGAFillRectangleReq);
+
     if (stuff->screen >= screenInfo.numScreens)
         return BadValue;
 
     if (DGA_GETCLIENT(stuff->screen) != client)
         return DGAErrorBase + XF86DGADirectNotActivated;
 
-    REQUEST_SIZE_MATCH(xXDGAFillRectangleReq);
-
     if (Success != DGAFillRect(stuff->screen, stuff->x, stuff->y,
                                stuff->width, stuff->height, stuff->color))
         return BadMatch;
@@ -1614,14 +1617,14 @@
 {
     REQUEST(xXDGACopyAreaReq);
 
+    REQUEST_SIZE_MATCH(xXDGACopyAreaReq);
+
     if (stuff->screen >= screenInfo.numScreens)
         return BadValue;
 
     if (DGA_GETCLIENT(stuff->screen) != client)
         return DGAErrorBase + XF86DGADirectNotActivated;
 
-    REQUEST_SIZE_MATCH(xXDGACopyAreaReq);
-
     if (Success != DGABlitRect(stuff->screen, stuff->srcx, stuff->srcy,
                                stuff->width, stuff->height, stuff->dstx,
                                stuff->dsty))
@@ -1635,14 +1638,14 @@
 {
     REQUEST(xXDGACopyTransparentAreaReq);
 
+    REQUEST_SIZE_MATCH(xXDGACopyTransparentAreaReq);
+
     if (stuff->screen >= screenInfo.numScreens)
         return BadValue;
 
     if (DGA_GETCLIENT(stuff->screen) != client)
         return DGAErrorBase + XF86DGADirectNotActivated;
 
-    REQUEST_SIZE_MATCH(xXDGACopyTransparentAreaReq);
-
     if (Success != DGABlitTransRect(stuff->screen, stuff->srcx, stuff->srcy,
                                     stuff->width, stuff->height, stuff->dstx,
                                     stuff->dsty, stuff->key))
@@ -1657,13 +1660,14 @@
     REQUEST(xXDGAGetViewportStatusReq);
     xXDGAGetViewportStatusReply rep;
 
+    REQUEST_SIZE_MATCH(xXDGAGetViewportStatusReq);
+
     if (stuff->screen >= screenInfo.numScreens)
         return BadValue;
 
     if (DGA_GETCLIENT(stuff->screen) != client)
         return DGAErrorBase + XF86DGADirectNotActivated;
 
-    REQUEST_SIZE_MATCH(xXDGAGetViewportStatusReq);
     rep.type = X_Reply;
     rep.length = 0;
     rep.sequenceNumber = client->sequence;
@@ -1680,13 +1684,14 @@
     REQUEST(xXDGASyncReq);
     xXDGASyncReply rep;
 
+    REQUEST_SIZE_MATCH(xXDGASyncReq);
+
     if (stuff->screen >= screenInfo.numScreens)
         return BadValue;
 
     if (DGA_GETCLIENT(stuff->screen) != client)
         return DGAErrorBase + XF86DGADirectNotActivated;
 
-    REQUEST_SIZE_MATCH(xXDGASyncReq);
     rep.type = X_Reply;
     rep.length = 0;
     rep.sequenceNumber = client->sequence;
@@ -1725,13 +1730,14 @@
     xXDGAChangePixmapModeReply rep;
     int x, y;
 
+    REQUEST_SIZE_MATCH(xXDGAChangePixmapModeReq);
+
     if (stuff->screen >= screenInfo.numScreens)
         return BadValue;
 
     if (DGA_GETCLIENT(stuff->screen) != client)
         return DGAErrorBase + XF86DGADirectNotActivated;
 
-    REQUEST_SIZE_MATCH(xXDGAChangePixmapModeReq);
     rep.type = X_Reply;
     rep.length = 0;
     rep.sequenceNumber = client->sequence;
@@ -1755,14 +1761,14 @@
     REQUEST(xXDGACreateColormapReq);
     int result;
 
+    REQUEST_SIZE_MATCH(xXDGACreateColormapReq);
+
     if (stuff->screen >= screenInfo.numScreens)
         return BadValue;
 
     if (DGA_GETCLIENT(stuff->screen) != client)
         return DGAErrorBase + XF86DGADirectNotActivated;
 
-    REQUEST_SIZE_MATCH(xXDGACreateColormapReq);
-
     if (!stuff->mode)
         return BadValue;
 
@@ -1791,10 +1797,11 @@
     int num, offset, flags;
     char *name;
 
+    REQUEST_SIZE_MATCH(xXF86DGAGetVideoLLReq);
+
     if (stuff->screen >= screenInfo.numScreens)
         return BadValue;
 
-    REQUEST_SIZE_MATCH(xXF86DGAGetVideoLLReq);
     rep.type = X_Reply;
     rep.length = 0;
     rep.sequenceNumber = client->sequence;
@@ -1831,9 +1838,10 @@
 
     REQUEST(xXF86DGADirectVideoReq);
 
+    REQUEST_SIZE_MATCH(xXF86DGADirectVideoReq);
+
     if (stuff->screen >= screenInfo.numScreens)
         return BadValue;
-    REQUEST_SIZE_MATCH(xXF86DGADirectVideoReq);
 
     if (!DGAAvailable(stuff->screen))
         return DGAErrorBase + XF86DGANoDirectVideoMode;
@@ -1889,10 +1897,11 @@
     REQUEST(xXF86DGAGetViewPortSizeReq);
     xXF86DGAGetViewPortSizeReply rep;
 
+    REQUEST_SIZE_MATCH(xXF86DGAGetViewPortSizeReq);
+
     if (stuff->screen >= screenInfo.numScreens)
         return BadValue;
 
-    REQUEST_SIZE_MATCH(xXF86DGAGetViewPortSizeReq);
     rep.type = X_Reply;
     rep.length = 0;
     rep.sequenceNumber = client->sequence;
@@ -1917,14 +1926,14 @@
 {
     REQUEST(xXF86DGASetViewPortReq);
 
+    REQUEST_SIZE_MATCH(xXF86DGASetViewPortReq);
+
     if (stuff->screen >= screenInfo.numScreens)
         return BadValue;
 
     if (DGA_GETCLIENT(stuff->screen) != client)
         return DGAErrorBase + XF86DGADirectNotActivated;
 
-    REQUEST_SIZE_MATCH(xXF86DGASetViewPortReq);
-
     if (!DGAAvailable(stuff->screen))
         return DGAErrorBase + XF86DGANoDirectVideoMode;
 
@@ -1944,10 +1953,11 @@
     REQUEST(xXF86DGAGetVidPageReq);
     xXF86DGAGetVidPageReply rep;
 
+    REQUEST_SIZE_MATCH(xXF86DGAGetVidPageReq);
+
     if (stuff->screen >= screenInfo.numScreens)
         return BadValue;
 
-    REQUEST_SIZE_MATCH(xXF86DGAGetVidPageReq);
     rep.type = X_Reply;
     rep.length = 0;
     rep.sequenceNumber = client->sequence;
@@ -1962,11 +1972,11 @@
 {
     REQUEST(xXF86DGASetVidPageReq);
 
+    REQUEST_SIZE_MATCH(xXF86DGASetVidPageReq);
+
     if (stuff->screen >= screenInfo.numScreens)
         return BadValue;
 
-    REQUEST_SIZE_MATCH(xXF86DGASetVidPageReq);
-
     /* silently fail */
 
     return Success;
@@ -1980,14 +1990,14 @@
 
     REQUEST(xXF86DGAInstallColormapReq);
 
+    REQUEST_SIZE_MATCH(xXF86DGAInstallColormapReq);
+
     if (stuff->screen >= screenInfo.numScreens)
         return BadValue;
 
     if (DGA_GETCLIENT(stuff->screen) != client)
         return DGAErrorBase + XF86DGADirectNotActivated;
 
-    REQUEST_SIZE_MATCH(xXF86DGAInstallColormapReq);
-
     if (!DGAActive(stuff->screen))
         return DGAErrorBase + XF86DGADirectNotActivated;
 
@@ -2008,10 +2018,11 @@
     REQUEST(xXF86DGAQueryDirectVideoReq);
     xXF86DGAQueryDirectVideoReply rep;
 
+    REQUEST_SIZE_MATCH(xXF86DGAQueryDirectVideoReq);
+
     if (stuff->screen >= screenInfo.numScreens)
         return BadValue;
 
-    REQUEST_SIZE_MATCH(xXF86DGAQueryDirectVideoReq);
     rep.type = X_Reply;
     rep.length = 0;
     rep.sequenceNumber = client->sequence;
@@ -2030,14 +2041,14 @@
     REQUEST(xXF86DGAViewPortChangedReq);
     xXF86DGAViewPortChangedReply rep;
 
+    REQUEST_SIZE_MATCH(xXF86DGAViewPortChangedReq);
+
     if (stuff->screen >= screenInfo.numScreens)
         return BadValue;
 
     if (DGA_GETCLIENT(stuff->screen) != client)
         return DGAErrorBase + XF86DGADirectNotActivated;
 
-    REQUEST_SIZE_MATCH(xXF86DGAViewPortChangedReq);
-
     if (!DGAActive(stuff->screen))
         return DGAErrorBase + XF86DGADirectNotActivated;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xorg-server-1.19.4/hw/xfree86/dri/xf86dri.c 
new/xorg-server-1.19.5/hw/xfree86/dri/xf86dri.c
--- old/xorg-server-1.19.4/hw/xfree86/dri/xf86dri.c     2017-10-04 
23:57:01.000000000 +0200
+++ new/xorg-server-1.19.5/hw/xfree86/dri/xf86dri.c     2017-10-12 
19:24:59.000000000 +0200
@@ -570,6 +570,7 @@
 SProcXF86DRIQueryDirectRenderingCapable(register ClientPtr client)
 {
     REQUEST(xXF86DRIQueryDirectRenderingCapableReq);
+    REQUEST_SIZE_MATCH(xXF86DRIQueryDirectRenderingCapableReq);
     swaps(&stuff->length);
     swapl(&stuff->screen);
     return ProcXF86DRIQueryDirectRenderingCapable(client);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xorg-server-1.19.4/hw/xfree86/drivers/modesetting/dri2.c 
new/xorg-server-1.19.5/hw/xfree86/drivers/modesetting/dri2.c
--- old/xorg-server-1.19.4/hw/xfree86/drivers/modesetting/dri2.c        
2017-10-04 23:57:01.000000000 +0200
+++ new/xorg-server-1.19.5/hw/xfree86/drivers/modesetting/dri2.c        
2017-10-12 19:24:59.000000000 +0200
@@ -695,16 +695,19 @@
 {
     ScreenPtr screen = draw->pScreen;
     ScrnInfoPtr scrn = xf86ScreenToScrn(screen);
+    modesettingPtr ms = modesettingPTR(scrn);
     ms_dri2_frame_event_ptr wait_info;
+    drmVBlank vbl;
     int ret;
     xf86CrtcPtr crtc = ms_dri2_crtc_covering_drawable(draw);
+    drmmode_crtc_private_ptr drmmode_crtc;
     CARD64 current_msc, current_ust, request_msc;
     uint32_t seq;
-    uint64_t queued_msc;
 
     /* Drawable not visible, return immediately */
     if (!crtc)
         goto out_complete;
+    drmmode_crtc = crtc->driver_private;
 
     wait_info = calloc(1, sizeof(*wait_info));
     if (!wait_info)
@@ -744,8 +747,13 @@
 
         if (current_msc >= target_msc)
             target_msc = current_msc;
+        vbl.request.type = (DRM_VBLANK_ABSOLUTE |
+                            DRM_VBLANK_EVENT |
+                            drmmode_crtc->vblank_pipe);
+        vbl.request.sequence = ms_crtc_msc_to_kernel_msc(crtc, target_msc);
+        vbl.request.signal = (unsigned long)seq;
 
-        ret = ms_queue_vblank(crtc, MS_QUEUE_ABSOLUTE, target_msc, 
&queued_msc, seq);
+        ret = drmWaitVBlank(ms->fd, &vbl);
         if (ret) {
             static int limit = 5;
             if (limit) {
@@ -758,7 +766,7 @@
             goto out_free;
         }
 
-        wait_info->frame = queued_msc;
+        wait_info->frame = ms_kernel_msc_to_crtc_msc(crtc, vbl.reply.sequence);
         DRI2BlockClient(client, draw);
         return TRUE;
     }
@@ -767,6 +775,9 @@
      * If we get here, target_msc has already passed or we don't have one,
      * so we queue an event that will satisfy the divisor/remainder equation.
      */
+    vbl.request.type =
+        DRM_VBLANK_ABSOLUTE | DRM_VBLANK_EVENT | drmmode_crtc->vblank_pipe;
+
     request_msc = current_msc - (current_msc % divisor) +
         remainder;
     /*
@@ -784,7 +795,11 @@
     if (!seq)
         goto out_free;
 
-    if (!ms_queue_vblank(crtc, MS_QUEUE_ABSOLUTE, request_msc, &queued_msc, 
seq)) {
+    vbl.request.sequence = ms_crtc_msc_to_kernel_msc(crtc, request_msc);
+    vbl.request.signal = (unsigned long)seq;
+
+    ret = drmWaitVBlank(ms->fd, &vbl);
+    if (ret) {
         static int limit = 5;
         if (limit) {
             xf86DrvMsg(scrn->scrnIndex, X_WARNING,
@@ -796,8 +811,7 @@
         goto out_free;
     }
 
-    wait_info->frame = queued_msc;
-
+    wait_info->frame = ms_kernel_msc_to_crtc_msc(crtc, vbl.reply.sequence);
     DRI2BlockClient(client, draw);
 
     return TRUE;
@@ -825,18 +839,20 @@
 {
     ScreenPtr screen = draw->pScreen;
     ScrnInfoPtr scrn = xf86ScreenToScrn(screen);
+    modesettingPtr ms = modesettingPTR(scrn);
+    drmVBlank vbl;
     int ret, flip = 0;
     xf86CrtcPtr crtc = ms_dri2_crtc_covering_drawable(draw);
+    drmmode_crtc_private_ptr drmmode_crtc;
     ms_dri2_frame_event_ptr frame_info = NULL;
     uint64_t current_msc, current_ust;
     uint64_t request_msc;
     uint32_t seq;
-    ms_queue_flag ms_flag = MS_QUEUE_ABSOLUTE;
-    uint64_t queued_msc;
 
     /* Drawable not displayed... just complete the swap */
     if (!crtc)
         goto blit_fallback;
+    drmmode_crtc = crtc->driver_private;
 
     frame_info = calloc(1, sizeof(*frame_info));
     if (!frame_info)
@@ -862,8 +878,6 @@
     ms_dri2_reference_buffer(back);
 
     ret = ms_get_crtc_ust_msc(crtc, &current_ust, &current_msc);
-    if (ret != Success)
-        goto blit_fallback;
 
     /* Flips need to be submitted one frame before */
     if (can_flip(scrn, draw, front, back)) {
@@ -878,19 +892,22 @@
     if (*target_msc > 0)
         *target_msc -= flip;
 
-    /* If non-pageflipping, but blitting/exchanging, we need to use
-     * DRM_VBLANK_NEXTONMISS to avoid unreliable timestamping later
-     * on.
-     */
-    if (flip == 0)
-        ms_flag |= MS_QUEUE_NEXT_ON_MISS;
-
     /*
      * If divisor is zero, or current_msc is smaller than target_msc
      * we just need to make sure target_msc passes before initiating
      * the swap.
      */
     if (divisor == 0 || current_msc < *target_msc) {
+        vbl.request.type = (DRM_VBLANK_ABSOLUTE |
+                            DRM_VBLANK_EVENT |
+                            drmmode_crtc->vblank_pipe);
+
+        /* If non-pageflipping, but blitting/exchanging, we need to use
+         * DRM_VBLANK_NEXTONMISS to avoid unreliable timestamping later
+         * on.
+         */
+        if (flip == 0)
+            vbl.request.type |= DRM_VBLANK_NEXTONMISS;
 
         /* If target_msc already reached or passed, set it to
          * current_msc to ensure we return a reasonable value back
@@ -905,14 +922,19 @@
         if (!seq)
             goto blit_fallback;
 
-        if (!ms_queue_vblank(crtc, ms_flag, *target_msc, &queued_msc, seq)) {
+        vbl.request.sequence = ms_crtc_msc_to_kernel_msc(crtc, *target_msc);
+        vbl.request.signal = (unsigned long)seq;
+
+        ret = drmWaitVBlank(ms->fd, &vbl);
+        if (ret) {
             xf86DrvMsg(scrn->scrnIndex, X_WARNING,
                        "divisor 0 get vblank counter failed: %s\n",
                        strerror(errno));
             goto blit_fallback;
         }
 
-        *target_msc = queued_msc + flip;
+        *target_msc = ms_kernel_msc_to_crtc_msc(crtc,
+                                                vbl.reply.sequence + flip);
         frame_info->frame = *target_msc;
 
         return TRUE;
@@ -923,6 +945,11 @@
      * and we need to queue an event that will satisfy the divisor/remainder
      * equation.
      */
+    vbl.request.type = (DRM_VBLANK_ABSOLUTE |
+                        DRM_VBLANK_EVENT |
+                        drmmode_crtc->vblank_pipe);
+    if (flip == 0)
+        vbl.request.type |= DRM_VBLANK_NEXTONMISS;
 
     request_msc = current_msc - (current_msc % divisor) +
         remainder;
@@ -939,6 +966,7 @@
     if (request_msc <= current_msc)
         request_msc += divisor;
 
+
     seq = ms_drm_queue_alloc(crtc, frame_info,
                              ms_dri2_frame_event_handler,
                              ms_dri2_frame_event_abort);
@@ -946,7 +974,11 @@
         goto blit_fallback;
 
     /* Account for 1 frame extra pageflip delay if flip > 0 */
-    if (!ms_queue_vblank(crtc, ms_flag, request_msc - flip, &queued_msc, seq)) 
{
+    vbl.request.sequence = ms_crtc_msc_to_kernel_msc(crtc, request_msc) - flip;
+    vbl.request.signal = (unsigned long)seq;
+
+    ret = drmWaitVBlank(ms->fd, &vbl);
+    if (ret) {
         xf86DrvMsg(scrn->scrnIndex, X_WARNING,
                    "final get vblank counter failed: %s\n",
                    strerror(errno));
@@ -954,7 +986,7 @@
     }
 
     /* Adjust returned value for 1 fame pageflip offset of flip > 0 */
-    *target_msc = queued_msc + flip;
+    *target_msc = ms_kernel_msc_to_crtc_msc(crtc, vbl.reply.sequence + flip);
     frame_info->frame = *target_msc;
 
     return TRUE;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xorg-server-1.19.4/hw/xfree86/drivers/modesetting/driver.h 
new/xorg-server-1.19.5/hw/xfree86/drivers/modesetting/driver.h
--- old/xorg-server-1.19.4/hw/xfree86/drivers/modesetting/driver.h      
2017-10-04 23:57:01.000000000 +0200
+++ new/xorg-server-1.19.5/hw/xfree86/drivers/modesetting/driver.h      
2017-10-12 19:24:59.000000000 +0200
@@ -119,10 +119,6 @@
     Bool dirty_enabled;
 
     uint32_t cursor_width, cursor_height;
-
-    Bool has_queue_sequence;
-    Bool tried_queue_sequence;
-
 } modesettingRec, *modesettingPtr;
 
 #define modesettingPTR(p) ((modesettingPtr)((p)->driverPrivate))
@@ -133,15 +129,6 @@
                             ms_drm_handler_proc handler,
                             ms_drm_abort_proc abort);
 
-typedef enum ms_queue_flag {
-    MS_QUEUE_ABSOLUTE = 0,
-    MS_QUEUE_RELATIVE = 1,
-    MS_QUEUE_NEXT_ON_MISS = 2
-} ms_queue_flag;
-
-Bool ms_queue_vblank(xf86CrtcPtr crtc, ms_queue_flag flags,
-                     uint64_t msc, uint64_t *msc_queued, uint32_t seq);
-
 void ms_drm_abort(ScrnInfoPtr scrn,
                   Bool (*match)(void *data, void *match_data),
                   void *match_data);
@@ -153,8 +140,8 @@
 
 int ms_get_crtc_ust_msc(xf86CrtcPtr crtc, CARD64 *ust, CARD64 *msc);
 
-uint64_t ms_crtc_msc_to_kernel_msc(xf86CrtcPtr crtc, uint64_t expect);
-uint64_t ms_kernel_msc_to_crtc_msc(xf86CrtcPtr crtc, uint64_t sequence);
+uint32_t ms_crtc_msc_to_kernel_msc(xf86CrtcPtr crtc, uint64_t expect);
+uint64_t ms_kernel_msc_to_crtc_msc(xf86CrtcPtr crtc, uint32_t sequence);
 
 
 Bool ms_dri2_screen_init(ScreenPtr screen);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xorg-server-1.19.4/hw/xfree86/drivers/modesetting/drmmode_display.c 
new/xorg-server-1.19.5/hw/xfree86/drivers/modesetting/drmmode_display.c
--- old/xorg-server-1.19.4/hw/xfree86/drivers/modesetting/drmmode_display.c     
2017-10-04 23:57:01.000000000 +0200
+++ new/xorg-server-1.19.5/hw/xfree86/drivers/modesetting/drmmode_display.c     
2017-10-12 19:24:59.000000000 +0200
@@ -279,6 +279,8 @@
 {
     drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
     msPixmapPrivPtr ppriv = msGetPixmapPriv(drmmode, ppix);
+
+    drmVBlank vbl;
     struct vblank_event_args *event_args;
 
     if (ppix == drmmode_crtc->prime_pixmap)
@@ -301,7 +303,12 @@
                            drmmode_SharedPixmapVBlankEventHandler,
                            drmmode_SharedPixmapVBlankEventAbort);
 
-    return ms_queue_vblank(crtc, MS_QUEUE_RELATIVE, 1, NULL, ppriv->flip_seq);
+    vbl.request.type =
+        DRM_VBLANK_RELATIVE | DRM_VBLANK_EVENT | drmmode_crtc->vblank_pipe;
+    vbl.request.sequence = 1;
+    vbl.request.signal = (unsigned long) ppriv->flip_seq;
+
+    return drmWaitVBlank(drmmode->fd, &vbl) >= 0;
 }
 
 Bool
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xorg-server-1.19.4/hw/xfree86/drivers/modesetting/present.c 
new/xorg-server-1.19.5/hw/xfree86/drivers/modesetting/present.c
--- old/xorg-server-1.19.4/hw/xfree86/drivers/modesetting/present.c     
2017-10-04 23:57:01.000000000 +0200
+++ new/xorg-server-1.19.5/hw/xfree86/drivers/modesetting/present.c     
2017-10-12 19:24:59.000000000 +0200
@@ -109,7 +109,13 @@
                         uint64_t msc)
 {
     xf86CrtcPtr xf86_crtc = crtc->devPrivate;
+    ScreenPtr screen = crtc->pScreen;
+    ScrnInfoPtr scrn = xf86ScreenToScrn(screen);
+    modesettingPtr ms = modesettingPTR(scrn);
+    drmmode_crtc_private_ptr drmmode_crtc = xf86_crtc->driver_private;
     struct ms_present_vblank_event *event;
+    drmVBlank vbl;
+    int ret;
     uint32_t seq;
 
     event = calloc(sizeof(struct ms_present_vblank_event), 1);
@@ -124,9 +130,22 @@
         return BadAlloc;
     }
 
-    if (!ms_queue_vblank(xf86_crtc, MS_QUEUE_ABSOLUTE, msc, NULL, seq))
-        return BadAlloc;
-
+    vbl.request.type =
+        DRM_VBLANK_ABSOLUTE | DRM_VBLANK_EVENT | drmmode_crtc->vblank_pipe;
+    vbl.request.sequence = ms_crtc_msc_to_kernel_msc(xf86_crtc, msc);
+    vbl.request.signal = seq;
+    for (;;) {
+        ret = drmWaitVBlank(ms->fd, &vbl);
+        if (!ret)
+            break;
+        /* If we hit EBUSY, then try to flush events.  If we can't, then
+         * this is an error.
+         */
+        if (errno != EBUSY || ms_flush_drm_events(screen) < 0) {
+           ms_drm_abort_seq(scrn, seq);
+            return BadAlloc;
+        }
+    }
     DebugPresent(("\t\tmq %lld seq %u msc %llu (hw msc %u)\n",
                  (long long) event_id, seq, (long long) msc,
                  vbl.request.sequence));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xorg-server-1.19.4/hw/xfree86/drivers/modesetting/vblank.c 
new/xorg-server-1.19.5/hw/xfree86/drivers/modesetting/vblank.c
--- old/xorg-server-1.19.4/hw/xfree86/drivers/modesetting/vblank.c      
2017-10-04 23:57:01.000000000 +0200
+++ new/xorg-server-1.19.5/hw/xfree86/drivers/modesetting/vblank.c      
2017-10-12 19:24:59.000000000 +0200
@@ -173,7 +173,7 @@
 
 static Bool
 ms_get_kernel_ust_msc(xf86CrtcPtr crtc,
-                      uint64_t *msc, uint64_t *ust)
+                      uint32_t *msc, uint64_t *ust)
 {
     ScreenPtr screen = crtc->randr_crtc->pScreen;
     ScrnInfoPtr scrn = xf86ScreenToScrn(screen);
@@ -198,50 +198,13 @@
     }
 }
 
-Bool
-ms_queue_vblank(xf86CrtcPtr crtc, ms_queue_flag flags,
-                uint64_t msc, uint64_t *msc_queued, uint32_t seq)
-{
-    ScreenPtr screen = crtc->randr_crtc->pScreen;
-    ScrnInfoPtr scrn = xf86ScreenToScrn(screen);
-    modesettingPtr ms = modesettingPTR(scrn);
-    drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
-    drmVBlank vbl;
-    int ret;
-
-    for (;;) {
-        /* Queue an event at the specified sequence */
-        vbl.request.type = DRM_VBLANK_EVENT | drmmode_crtc->vblank_pipe;
-        if (flags & MS_QUEUE_RELATIVE)
-            vbl.request.type |= DRM_VBLANK_RELATIVE;
-        else
-            vbl.request.type |= DRM_VBLANK_ABSOLUTE;
-        if (flags & MS_QUEUE_NEXT_ON_MISS)
-            vbl.request.type |= DRM_VBLANK_NEXTONMISS;
-
-        vbl.request.sequence = ms_crtc_msc_to_kernel_msc(crtc, msc);
-        vbl.request.signal = seq;
-        ret = drmWaitVBlank(ms->fd, &vbl);
-        if (ret == 0) {
-            if (msc_queued)
-                *msc_queued = ms_kernel_msc_to_crtc_msc(crtc, 
vbl.reply.sequence);
-            return TRUE;
-        }
-        if (errno != EBUSY) {
-            ms_drm_abort_seq(scrn, msc);
-            return FALSE;
-        }
-        ms_flush_drm_events(screen);
-    }
-}
-
 /**
  * Convert a 32-bit kernel MSC sequence number to a 64-bit local sequence
  * number, adding in the vblank_offset and high 32 bits, and dealing
  * with 64-bit wrapping
  */
 uint64_t
-ms_kernel_msc_to_crtc_msc(xf86CrtcPtr crtc, uint64_t sequence)
+ms_kernel_msc_to_crtc_msc(xf86CrtcPtr crtc, uint32_t sequence)
 {
     drmmode_crtc_private_rec *drmmode_crtc = crtc->driver_private;
     sequence += drmmode_crtc->vblank_offset;
@@ -255,7 +218,7 @@
 int
 ms_get_crtc_ust_msc(xf86CrtcPtr crtc, CARD64 *ust, CARD64 *msc)
 {
-    uint64_t kernel_msc;
+    uint32_t kernel_msc;
 
     if (!ms_get_kernel_ust_msc(crtc, &kernel_msc, ust))
         return BadMatch;
@@ -267,13 +230,13 @@
 #define MAX_VBLANK_OFFSET       1000
 
 /**
- * Convert a 64-bit adjusted MSC value into a 64-bit kernel sequence number,
- * by subtracting out the vblank_offset term.
+ * Convert a 64-bit adjusted MSC value into a 32-bit kernel sequence number,
+ * removing the high 32 bits and subtracting out the vblank_offset term.
  *
  * This also updates the vblank_offset when it notices that the value should
  * change.
  */
-uint64_t
+uint32_t
 ms_crtc_msc_to_kernel_msc(xf86CrtcPtr crtc, uint64_t expect)
 {
     drmmode_crtc_private_rec *drmmode_crtc = crtc->driver_private;
@@ -294,7 +257,7 @@
                 drmmode_crtc->vblank_offset = 0;
         }
     }
-    return (expect - drmmode_crtc->vblank_offset);
+    return (uint32_t) (expect - drmmode_crtc->vblank_offset);
 }
 
 /**
@@ -412,31 +375,25 @@
  * drm event queue and calls the handler for it.
  */
 static void
-ms_drm_sequence_handler(int fd, uint64_t frame, uint64_t ns, uint64_t 
user_data)
+ms_drm_handler(int fd, uint32_t frame, uint32_t sec, uint32_t usec,
+               void *user_ptr)
 {
     struct ms_drm_queue *q, *tmp;
-    uint32_t seq = (uint32_t) user_data;
+    uint32_t user_data = (uint32_t) (intptr_t) user_ptr;
 
     xorg_list_for_each_entry_safe(q, tmp, &ms_drm_queue, list) {
-        if (q->seq == seq) {
+        if (q->seq == user_data) {
             uint64_t msc;
 
             msc = ms_kernel_msc_to_crtc_msc(q->crtc, frame);
             xorg_list_del(&q->list);
-            q->handler(msc, ns / 1000, q->data);
+            q->handler(msc, (uint64_t) sec * 1000000 + usec, q->data);
             free(q);
             break;
         }
     }
 }
 
-static void
-ms_drm_handler(int fd, uint32_t frame, uint32_t sec, uint32_t usec,
-               void *user_ptr)
-{
-    ms_drm_sequence_handler(fd, frame, ((uint64_t) sec * 1000000 + usec) * 
1000, (uint32_t) (uintptr_t) user_ptr);
-}
-
 Bool
 ms_vblank_screen_init(ScreenPtr screen)
 {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xorg-server-1.19.4/missing new/xorg-server-1.19.5/missing
--- old/xorg-server-1.19.4/missing      2017-10-04 23:57:16.000000000 +0200
+++ new/xorg-server-1.19.5/missing      2017-10-12 19:25:15.000000000 +0200
@@ -1,9 +1,9 @@
 #! /bin/sh
 # Common wrapper for a few potentially missing GNU programs.
 
-scriptversion=2013-10-28.13; # UTC
+scriptversion=2016-01-11.22; # UTC
 
-# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 # Originally written by Fran,cois Pinard <pin...@iro.umontreal.ca>, 1996.
 
 # This program is free software; you can redistribute it and/or modify
@@ -210,6 +210,6 @@
 # eval: (add-hook 'write-file-hooks 'time-stamp)
 # time-stamp-start: "scriptversion="
 # time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
 # time-stamp-end: "; # UTC"
 # End:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xorg-server-1.19.4/os/io.c new/xorg-server-1.19.5/os/io.c
--- old/xorg-server-1.19.4/os/io.c      2017-10-04 23:57:01.000000000 +0200
+++ new/xorg-server-1.19.5/os/io.c      2017-10-12 19:24:59.000000000 +0200
@@ -441,6 +441,11 @@
     if (!gotnow)
         AvailableInput = oc;
     if (move_header) {
+        if (client->req_len < bytes_to_int32(sizeof(xBigReq) - sizeof(xReq))) {
+            YieldControlDeath();
+            return -1;
+        }
+
         request = (xReq *) oci->bufptr;
         oci->bufptr += (sizeof(xBigReq) - sizeof(xReq));
         *(xReq *) oci->bufptr = *request;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xorg-server-1.19.4/pseudoramiX/pseudoramiX.c 
new/xorg-server-1.19.5/pseudoramiX/pseudoramiX.c
--- old/xorg-server-1.19.4/pseudoramiX/pseudoramiX.c    2017-10-04 
23:57:01.000000000 +0200
+++ new/xorg-server-1.19.5/pseudoramiX/pseudoramiX.c    2017-10-12 
19:24:59.000000000 +0200
@@ -297,10 +297,11 @@
 
     TRACE;
 
+    REQUEST_SIZE_MATCH(xPanoramiXGetScreenSizeReq);
+
     if (stuff->screen >= pseudoramiXNumScreens)
       return BadMatch;
 
-    REQUEST_SIZE_MATCH(xPanoramiXGetScreenSizeReq);
     rc = dixLookupWindow(&pWin, stuff->window, client, DixGetAttrAccess);
     if (rc != Success)
         return rc;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xorg-server-1.19.4/render/render.c new/xorg-server-1.19.5/render/render.c
--- old/xorg-server-1.19.4/render/render.c      2017-10-04 23:57:01.000000000 
+0200
+++ new/xorg-server-1.19.5/render/render.c      2017-10-12 19:24:59.000000000 
+0200
@@ -1757,6 +1757,9 @@
     name = (char *) (stuff + 1);
     params = (xFixed *) (name + pad_to_int32(stuff->nbytes));
     nparams = ((xFixed *) stuff + client->req_len) - params;
+    if (nparams < 0)
+       return BadLength;
+
     result = SetPictureFilter(pPicture, name, stuff->nbytes, params, nparams);
     return result;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xorg-server-1.19.4/test-driver new/xorg-server-1.19.5/test-driver
--- old/xorg-server-1.19.4/test-driver  2017-10-04 23:57:22.000000000 +0200
+++ new/xorg-server-1.19.5/test-driver  2017-10-12 19:25:20.000000000 +0200
@@ -1,9 +1,9 @@
 #! /bin/sh
 # test-driver - basic testsuite driver script.
 
-scriptversion=2013-07-13.22; # UTC
+scriptversion=2016-01-11.22; # UTC
 
-# Copyright (C) 2011-2014 Free Software Foundation, Inc.
+# Copyright (C) 2011-2017 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -143,6 +143,6 @@
 # eval: (add-hook 'write-file-hooks 'time-stamp)
 # time-stamp-start: "scriptversion="
 # time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
 # time-stamp-end: "; # UTC"
 # End:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xorg-server-1.19.4/xfixes/cursor.c new/xorg-server-1.19.5/xfixes/cursor.c
--- old/xorg-server-1.19.4/xfixes/cursor.c      2017-10-04 23:57:01.000000000 
+0200
+++ new/xorg-server-1.19.5/xfixes/cursor.c      2017-10-12 19:24:59.000000000 
+0200
@@ -281,6 +281,7 @@
 SProcXFixesSelectCursorInput(ClientPtr client)
 {
     REQUEST(xXFixesSelectCursorInputReq);
+    REQUEST_SIZE_MATCH(xXFixesSelectCursorInputReq);
 
     swaps(&stuff->length);
     swapl(&stuff->window);
@@ -414,7 +415,7 @@
     REQUEST(xXFixesSetCursorNameReq);
     Atom atom;
 
-    REQUEST_AT_LEAST_SIZE(xXFixesSetCursorNameReq);
+    REQUEST_FIXED_SIZE(xXFixesSetCursorNameReq, stuff->nbytes);
     VERIFY_CURSOR(pCursor, stuff->cursor, client, DixSetAttrAccess);
     tchar = (char *) &stuff[1];
     atom = MakeAtom(tchar, stuff->nbytes, TRUE);
@@ -1007,6 +1008,8 @@
     int i;
     CARD16 *in_devices = (CARD16 *) &stuff[1];
 
+    REQUEST_AT_LEAST_SIZE(xXFixesCreatePointerBarrierReq);
+
     swaps(&stuff->length);
     swaps(&stuff->num_devices);
     REQUEST_FIXED_SIZE(xXFixesCreatePointerBarrierReq, 
pad_to_int32(stuff->num_devices));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xorg-server-1.19.4/xfixes/region.c new/xorg-server-1.19.5/xfixes/region.c
--- old/xorg-server-1.19.4/xfixes/region.c      2017-10-04 23:57:01.000000000 
+0200
+++ new/xorg-server-1.19.5/xfixes/region.c      2017-10-12 19:24:59.000000000 
+0200
@@ -359,6 +359,7 @@
     RegionPtr pSource, pDestination;
 
     REQUEST(xXFixesCopyRegionReq);
+    REQUEST_SIZE_MATCH(xXFixesCopyRegionReq);
 
     VERIFY_REGION(pSource, stuff->source, client, DixReadAccess);
     VERIFY_REGION(pDestination, stuff->destination, client, DixWriteAccess);
@@ -375,7 +376,7 @@
     REQUEST(xXFixesCopyRegionReq);
 
     swaps(&stuff->length);
-    REQUEST_AT_LEAST_SIZE(xXFixesCopyRegionReq);
+    REQUEST_SIZE_MATCH(xXFixesCopyRegionReq);
     swapl(&stuff->source);
     swapl(&stuff->destination);
     return (*ProcXFixesVector[stuff->xfixesReqType]) (client);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xorg-server-1.19.4/xfixes/saveset.c new/xorg-server-1.19.5/xfixes/saveset.c
--- old/xorg-server-1.19.4/xfixes/saveset.c     2017-10-04 23:57:01.000000000 
+0200
+++ new/xorg-server-1.19.5/xfixes/saveset.c     2017-10-12 19:24:59.000000000 
+0200
@@ -62,6 +62,7 @@
 SProcXFixesChangeSaveSet(ClientPtr client)
 {
     REQUEST(xXFixesChangeSaveSetReq);
+    REQUEST_SIZE_MATCH(xXFixesChangeSaveSetReq);
 
     swaps(&stuff->length);
     swapl(&stuff->window);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xorg-server-1.19.4/xfixes/xfixes.c new/xorg-server-1.19.5/xfixes/xfixes.c
--- old/xorg-server-1.19.4/xfixes/xfixes.c      2017-10-04 23:57:01.000000000 
+0200
+++ new/xorg-server-1.19.5/xfixes/xfixes.c      2017-10-12 19:24:59.000000000 
+0200
@@ -160,6 +160,7 @@
 SProcXFixesQueryVersion(ClientPtr client)
 {
     REQUEST(xXFixesQueryVersionReq);
+    REQUEST_SIZE_MATCH(xXFixesQueryVersionReq);
 
     swaps(&stuff->length);
     swapl(&stuff->majorVersion);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/xorg-server-1.19.4/ylwrap new/xorg-server-1.19.5/ylwrap
--- old/xorg-server-1.19.4/ylwrap       2017-10-04 23:57:21.000000000 +0200
+++ new/xorg-server-1.19.5/ylwrap       2017-10-12 19:25:19.000000000 +0200
@@ -1,9 +1,9 @@
 #! /bin/sh
 # ylwrap - wrapper for lex/yacc invocations.
 
-scriptversion=2013-01-12.17; # UTC
+scriptversion=2016-01-11.22; # UTC
 
-# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 #
 # Written by Tom Tromey <tro...@cygnus.com>.
 #
@@ -242,6 +242,6 @@
 # eval: (add-hook 'write-file-hooks 'time-stamp)
 # time-stamp-start: "scriptversion="
 # time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
+# time-stamp-time-zone: "UTC0"
 # time-stamp-end: "; # UTC"
 # End:


Reply via email to