summary refs log tree commit diff
path: root/pkgs/servers/x11/xorg
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/servers/x11/xorg')
-rw-r--r--pkgs/servers/x11/xorg/default.nix58
-rw-r--r--pkgs/servers/x11/xorg/overrides.nix13
-rw-r--r--pkgs/servers/x11/xorg/tarballs-7.7.list18
-rw-r--r--pkgs/servers/x11/xorg/xorgserver-cve-2013-4396.patch75
-rw-r--r--pkgs/servers/x11/xorg/xorgserver-dri-path.patch19
-rw-r--r--pkgs/servers/x11/xorg/xorgserver12-CVE-1940.patch34
6 files changed, 46 insertions, 171 deletions
diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix
index 852d7ab9841..1be17e623f7 100644
--- a/pkgs/servers/x11/xorg/default.nix
+++ b/pkgs/servers/x11/xorg/default.nix
@@ -790,11 +790,11 @@ let
   })) // {inherit libICE kbproto libSM libX11 xproto ;};
 
   libXtst = (stdenv.mkDerivation ((if overrides ? libXtst then overrides.libXtst else x: x) {
-    name = "libXtst-1.2.1";
+    name = "libXtst-1.2.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.7/src/everything/libXtst-1.2.1.tar.bz2;
-      sha256 = "1q750hjplq1rfyxkr4545z1y2a1wfnc828ynvbws7b4jwdk3xsky";
+      url = mirror://xorg/individual/lib/libXtst-1.2.2.tar.bz2;
+      sha256 = "1ngn161nq679ffmbwl81i2hn75jjg5b3ffv6n4jilpvyazypy2pg";
     };
     buildInputs = [pkgconfig inputproto recordproto libX11 libXext xextproto libXi ];
   })) // {inherit inputproto recordproto libX11 libXext xextproto libXi ;};
@@ -1370,11 +1370,11 @@ let
   })) // {inherit inputproto xorgserver xproto ;};
 
   xf86inputsynaptics = (stdenv.mkDerivation ((if overrides ? xf86inputsynaptics then overrides.xf86inputsynaptics else x: x) {
-    name = "xf86-input-synaptics-1.6.2";
+    name = "xf86-input-synaptics-1.7.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-input-synaptics-1.6.2.tar.bz2;
-      sha256 = "082rlbyw63sashjbwd7dd0a0smp5n8yv9bihy19c706lhnhddxy3";
+      url = mirror://xorg/individual/driver/xf86-input-synaptics-1.7.1.tar.bz2;
+      sha256 = "13mmpcwp1d69w6c458a4fdqgwl24bpvrnq3zd6833chz1rk2an6v";
     };
     buildInputs = [pkgconfig inputproto randrproto recordproto libX11 libXi xorgserver xproto libXtst ];
   })) // {inherit inputproto randrproto recordproto libX11 libXi xorgserver xproto libXtst ;};
@@ -1420,11 +1420,11 @@ let
   })) // {inherit fontsproto libpciaccess xextproto xorgserver xproto ;};
 
   xf86videoast = (stdenv.mkDerivation ((if overrides ? xf86videoast then overrides.xf86videoast else x: x) {
-    name = "xf86-video-ast-0.97.0";
+    name = "xf86-video-ast-0.98.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-video-ast-0.97.0.tar.bz2;
-      sha256 = "0xlfk64pa0vbg74m261fw8cn4vw6jw3nxm6wys9m4j3n2rwd9z18";
+      url = mirror://xorg/individual/driver/xf86-video-ast-0.98.0.tar.bz2;
+      sha256 = "188nv73w0p5xhfxz2dffli44yzyn1qhhq3qkwc8wva9dhg25n8lh";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
   })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
@@ -1440,31 +1440,31 @@ let
   })) // {inherit fontsproto libdrm udev libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;};
 
   xf86videocirrus = (stdenv.mkDerivation ((if overrides ? xf86videocirrus then overrides.xf86videocirrus else x: x) {
-    name = "xf86-video-cirrus-1.5.1";
+    name = "xf86-video-cirrus-1.5.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-video-cirrus-1.5.1.tar.bz2;
-      sha256 = "0my54x52fsa82bsh196hz79750xjlv8ddbvin7230ck7pnf44md9";
+      url = mirror://xorg/individual/driver/xf86-video-cirrus-1.5.2.tar.bz2;
+      sha256 = "1mycqgjp18b6adqj2h90vp324xh8ysyi5migfmjc914vbnkf2q9k";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
   })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
 
   xf86videodummy = (stdenv.mkDerivation ((if overrides ? xf86videodummy then overrides.xf86videodummy else x: x) {
-    name = "xf86-video-dummy-0.3.6";
+    name = "xf86-video-dummy-0.3.7";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-video-dummy-0.3.6.tar.bz2;
-      sha256 = "16773lxa74d9v2x758bx0byrmxssplqygnjn09q3klr605j5ncs4";
+      url = mirror://xorg/individual/driver/xf86-video-dummy-0.3.7.tar.bz2;
+      sha256 = "1046p64xap69vlsmsz5rjv0djc970yhvq44fmllmas0mqp5lzy2n";
     };
     buildInputs = [pkgconfig fontsproto randrproto renderproto videoproto xf86dgaproto xorgserver xproto ];
   })) // {inherit fontsproto randrproto renderproto videoproto xf86dgaproto xorgserver xproto ;};
 
   xf86videofbdev = (stdenv.mkDerivation ((if overrides ? xf86videofbdev then overrides.xf86videofbdev else x: x) {
-    name = "xf86-video-fbdev-0.4.3";
+    name = "xf86-video-fbdev-0.4.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-video-fbdev-0.4.3.tar.bz2;
-      sha256 = "0ca8khgy3wv0fys7s4087apvnp8j86blxj5m5m70l10hs5x06yzz";
+      url = mirror://xorg/individual/driver/xf86-video-fbdev-0.4.4.tar.bz2;
+      sha256 = "06ym7yy017lanj730hfkpfk4znx3dsj8jq3qvyzsn8w294kb7m4x";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xorgserver xproto ];
   })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xorgserver xproto ;};
@@ -1540,14 +1540,14 @@ let
   })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;};
 
   xf86videoneomagic = (stdenv.mkDerivation ((if overrides ? xf86videoneomagic then overrides.xf86videoneomagic else x: x) {
-    name = "xf86-video-neomagic-1.2.7";
+    name = "xf86-video-neomagic-1.2.8";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-video-neomagic-1.2.7.tar.bz2;
-      sha256 = "0xnbk2y5pzs1g3w2rmjc4k3nyq6kazf67bv4q3dnbywalsgfh1lz";
+      url = mirror://xorg/individual/driver/xf86-video-neomagic-1.2.8.tar.bz2;
+      sha256 = "0x48sxs1p3kmwk3pq1j7vl93y59gdmgkq1x5xbnh0yal0angdash";
     };
-    buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ];
-  })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ;};
+    buildInputs = [pkgconfig fontsproto libpciaccess xorgserver xproto ];
+  })) // {inherit fontsproto libpciaccess xorgserver xproto ;};
 
   xf86videonewport = (stdenv.mkDerivation ((if overrides ? xf86videonewport then overrides.xf86videonewport else x: x) {
     name = "xf86-video-newport-0.2.4";
@@ -1680,11 +1680,11 @@ let
   })) // {inherit randrproto videoproto xorgserver xproto ;};
 
   xf86videovesa = (stdenv.mkDerivation ((if overrides ? xf86videovesa then overrides.xf86videovesa else x: x) {
-    name = "xf86-video-vesa-2.3.2";
+    name = "xf86-video-vesa-2.3.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-video-vesa-2.3.2.tar.bz2;
-      sha256 = "1qqf97baii1dcsm3y8gqw674j4r8llhkbqsavhyn11iwmvzifjhl";
+      url = mirror://xorg/individual/driver/xf86-video-vesa-2.3.3.tar.bz2;
+      sha256 = "1y5fsg0c4bgmh1cfsbnaaf388fppyy02i7mcy9vax78flkjpb2yf";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto xextproto xorgserver xproto ];
   })) // {inherit fontsproto libpciaccess randrproto renderproto xextproto xorgserver xproto ;};
@@ -1900,11 +1900,11 @@ let
   })) // {inherit ;};
 
   xorgserver = (stdenv.mkDerivation ((if overrides ? xorgserver then overrides.xorgserver else x: x) {
-    name = "xorg-server-1.13.4";
+    name = "xorg-server-1.14.5";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/xserver/xorg-server-1.13.4.tar.bz2;
-      sha256 = "1kwq5hqgl3qmm4nxh5iwpa0wwwzsj67fxqiiglzhyyrwgy46kjd2";
+      url = mirror://xorg/individual/xserver/xorg-server-1.14.5.tar.bz2;
+      sha256 = "1lb1fkscy7nwnabfj0d2shvxga16i047g11if18plj0n2jzhc3wd";
     };
     buildInputs = [pkgconfig renderproto libdrm openssl libX11 libXau libXaw libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt libXv ];
   })) // {inherit renderproto libdrm openssl libX11 libXau libXaw libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt libXv ;};
diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix
index c8e20f1f0b9..3e27b874343 100644
--- a/pkgs/servers/x11/xorg/overrides.nix
+++ b/pkgs/servers/x11/xorg/overrides.nix
@@ -165,6 +165,13 @@ in
     ];
   };
 
+  xf86videonv = attrs: attrs // {
+    patches = [( args.fetchurl {
+      url = http://cgit.freedesktop.org/xorg/driver/xf86-video-nv/patch/?id=fc78fe98222b0204b8a2872a529763d6fe5048da;
+      sha256 = "0ikbnz6048ygs1qahb6ylnxkyjhfjcqr2gm9bk95ca90v57j7i0f";
+    })];
+  };
+
   xf86videovmware = attrs: attrs // {
     buildInputs =  attrs.buildInputs ++ [ args.mesa_drivers ]; # for libxatracker
   };
@@ -198,11 +205,7 @@ in
       "--with-default-font-path= "  # there were only paths containing "${prefix}",
                                     # and there are no fonts in this package anyway
     ];
-    patches =
-      [ ./xorgserver-dri-path.patch
-        ./xorgserver-xkbcomp-path.patch
-        ./xorgserver-cve-2013-4396.patch
-      ];
+    patches = [ ./xorgserver-xkbcomp-path.patch ];
     buildInputs = attrs.buildInputs ++ [ xtrans ];
     propagatedBuildInputs =
       [ args.zlib args.udev args.mesa args.dbus.libs
diff --git a/pkgs/servers/x11/xorg/tarballs-7.7.list b/pkgs/servers/x11/xorg/tarballs-7.7.list
index 4464aeea9b8..4cf9c0362e0 100644
--- a/pkgs/servers/x11/xorg/tarballs-7.7.list
+++ b/pkgs/servers/x11/xorg/tarballs-7.7.list
@@ -77,7 +77,7 @@ mirror://xorg/individual/lib/libXrender-0.9.8.tar.bz2
 mirror://xorg/individual/lib/libXres-1.0.7.tar.bz2
 mirror://xorg/X11R7.7/src/everything/libXScrnSaver-1.2.2.tar.bz2
 mirror://xorg/individual/lib/libXt-1.1.4.tar.bz2
-mirror://xorg/X11R7.7/src/everything/libXtst-1.2.1.tar.bz2
+mirror://xorg/individual/lib/libXtst-1.2.2.tar.bz2
 mirror://xorg/individual/lib/libXv-1.0.8.tar.bz2
 mirror://xorg/individual/lib/libXvMC-1.0.8.tar.bz2
 mirror://xorg/individual/lib/libXxf86dga-1.1.4.tar.bz2
@@ -116,15 +116,15 @@ mirror://xorg/individual/driver/xf86-input-evdev-2.7.3.tar.bz2
 mirror://xorg/individual/driver/xf86-input-joystick-1.6.2.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xf86-input-keyboard-1.6.1.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xf86-input-mouse-1.7.2.tar.bz2
-mirror://xorg/individual/driver/xf86-input-synaptics-1.6.2.tar.bz2
+mirror://xorg/individual/driver/xf86-input-synaptics-1.7.1.tar.bz2
 mirror://xorg/individual/driver/xf86-input-vmmouse-13.0.0.tar.bz2
 mirror://xorg/individual/driver/xf86-input-void-1.4.0.tar.bz2
 mirror://xorg/individual/driver/xf86-video-ark-0.7.5.tar.bz2
-mirror://xorg/individual/driver/xf86-video-ast-0.97.0.tar.bz2
+mirror://xorg/individual/driver/xf86-video-ast-0.98.0.tar.bz2
 mirror://xorg/individual/driver/xf86-video-ati-7.1.0.tar.bz2
-mirror://xorg/individual/driver/xf86-video-cirrus-1.5.1.tar.bz2
-mirror://xorg/individual/driver/xf86-video-dummy-0.3.6.tar.bz2
-mirror://xorg/individual/driver/xf86-video-fbdev-0.4.3.tar.bz2
+mirror://xorg/individual/driver/xf86-video-cirrus-1.5.2.tar.bz2
+mirror://xorg/individual/driver/xf86-video-dummy-0.3.7.tar.bz2
+mirror://xorg/individual/driver/xf86-video-fbdev-0.4.4.tar.bz2
 mirror://xorg/individual/driver/xf86-video-geode-2.11.14.tar.bz2
 mirror://xorg/individual/driver/xf86-video-glide-1.2.1.tar.bz2
 mirror://xorg/individual/driver/xf86-video-glint-1.2.8.tar.bz2
@@ -132,7 +132,7 @@ mirror://xorg/individual/driver/xf86-video-i128-1.3.6.tar.bz2
 mirror://xorg/individual/driver/xf86-video-intel-2.21.9.tar.bz2
 mirror://xorg/individual/driver/xf86-video-mach64-6.9.4.tar.bz2
 mirror://xorg/individual/driver/xf86-video-mga-1.6.2.tar.bz2
-mirror://xorg/individual/driver/xf86-video-neomagic-1.2.7.tar.bz2
+mirror://xorg/individual/driver/xf86-video-neomagic-1.2.8.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xf86-video-newport-0.2.4.tar.bz2
 mirror://xorg/individual/driver/xf86-video-nv-2.1.20.tar.bz2
 mirror://xorg/individual/driver/xf86-video-openchrome-0.3.3.tar.bz2
@@ -146,7 +146,7 @@ mirror://xorg/individual/driver/xf86-video-tdfx-1.4.5.tar.bz2
 mirror://xorg/individual/driver/xf86-video-tga-1.2.2.tar.bz2
 mirror://xorg/individual/driver/xf86-video-trident-1.3.6.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xf86-video-v4l-0.2.0.tar.bz2
-mirror://xorg/individual/driver/xf86-video-vesa-2.3.2.tar.bz2
+mirror://xorg/individual/driver/xf86-video-vesa-2.3.3.tar.bz2
 mirror://xorg/individual/driver/xf86-video-vmware-13.0.1.tar.bz2
 mirror://xorg/individual/driver/xf86-video-voodoo-1.2.5.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xf86-video-wsfb-0.4.0.tar.bz2
@@ -164,7 +164,7 @@ mirror://xorg/X11R7.7/src/everything/xlsatoms-1.1.1.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xlsclients-1.1.2.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xmodmap-1.0.7.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xorg-docs-1.7.tar.bz2
-mirror://xorg/individual/xserver/xorg-server-1.13.4.tar.bz2
+mirror://xorg/individual/xserver/xorg-server-1.14.5.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xorg-sgml-doctools-1.11.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xpr-1.0.4.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xprop-1.2.1.tar.bz2
diff --git a/pkgs/servers/x11/xorg/xorgserver-cve-2013-4396.patch b/pkgs/servers/x11/xorg/xorgserver-cve-2013-4396.patch
deleted file mode 100644
index 4b6727e61c0..00000000000
--- a/pkgs/servers/x11/xorg/xorgserver-cve-2013-4396.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From 7bddc2ba16a2a15773c2ea8947059afa27727764 Mon Sep 17 00:00:00 2001
-From: Alan Coopersmith <alan.coopersmith@oracle.com>
-Date: Mon, 16 Sep 2013 21:47:16 -0700
-Subject: [PATCH] Avoid use-after-free in dix/dixfonts.c: doImageText()
- [CVE-2013-4396]
-
-Save a pointer to the passed in closure structure before copying it
-and overwriting the *c pointer to point to our copy instead of the
-original.  If we hit an error, once we free(c), reset c to point to
-the original structure before jumping to the cleanup code that
-references *c.
-
-Since one of the errors being checked for is whether the server was
-able to malloc(c->nChars * itemSize), the client can potentially pass
-a number of characters chosen to cause the malloc to fail and the
-error path to be taken, resulting in the read from freed memory.
-
-Since the memory is accessed almost immediately afterwards, and the
-X server is mostly single threaded, the odds of the free memory having
-invalid contents are low with most malloc implementations when not using
-memory debugging features, but some allocators will definitely overwrite
-the memory there, leading to a likely crash.
-
-Reported-by: Pedro Ribeiro <pedrib@gmail.com>
-Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
-Reviewed-by: Julien Cristau <jcristau@debian.org>
----
- dix/dixfonts.c |    5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/dix/dixfonts.c b/dix/dixfonts.c
-index feb765d..2e34d37 100644
---- a/dix/dixfonts.c
-+++ b/dix/dixfonts.c
-@@ -1425,6 +1425,7 @@ doImageText(ClientPtr client, ITclosurePtr c)
-             GC *pGC;
-             unsigned char *data;
-             ITclosurePtr new_closure;
-+            ITclosurePtr old_closure;
- 
-             /* We're putting the client to sleep.  We need to
-                save some state.  Similar problem to that handled
-@@ -1436,12 +1437,14 @@ doImageText(ClientPtr client, ITclosurePtr c)
-                 err = BadAlloc;
-                 goto bail;
-             }
-+            old_closure = c;
-             *new_closure = *c;
-             c = new_closure;
- 
-             data = malloc(c->nChars * itemSize);
-             if (!data) {
-                 free(c);
-+                c = old_closure;
-                 err = BadAlloc;
-                 goto bail;
-             }
-@@ -1452,6 +1455,7 @@ doImageText(ClientPtr client, ITclosurePtr c)
-             if (!pGC) {
-                 free(c->data);
-                 free(c);
-+                c = old_closure;
-                 err = BadAlloc;
-                 goto bail;
-             }
-@@ -1464,6 +1468,7 @@ doImageText(ClientPtr client, ITclosurePtr c)
-                 FreeScratchGC(pGC);
-                 free(c->data);
-                 free(c);
-+                c = old_closure;
-                 err = BadAlloc;
-                 goto bail;
-             }
--- 
-1.7.9.2
diff --git a/pkgs/servers/x11/xorg/xorgserver-dri-path.patch b/pkgs/servers/x11/xorg/xorgserver-dri-path.patch
deleted file mode 100644
index 3a5f061eb9a..00000000000
--- a/pkgs/servers/x11/xorg/xorgserver-dri-path.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-diff -Naur xorg-server-1.12.2-orig/glx/glxdricommon.c xorg-server-1.12.2/glx/glxdricommon.c
---- xorg-server-1.12.2-orig/glx/glxdricommon.c	2012-05-17 13:09:02.000000000 -0400
-+++ xorg-server-1.12.2/glx/glxdricommon.c	2012-07-14 14:57:37.972791909 -0400
-@@ -219,10 +219,14 @@
-     int i;
-     void *driver;
-     char filename[PATH_MAX];
-+    char *real_dri_driver_path;
-     const __DRIextension **extensions;
- 
-+    real_dri_driver_path = getenv("XORG_DRI_DRIVER_PATH");
-+    if (!real_dri_driver_path) real_dri_driver_path = dri_driver_path;
-+
-     snprintf(filename, sizeof filename, "%s/%s_dri.so",
--             dri_driver_path, driverName);
-+             real_dri_driver_path, driverName);
- 
-     driver = dlopen(filename, RTLD_LAZY | RTLD_LOCAL);
-     if (driver == NULL) {
diff --git a/pkgs/servers/x11/xorg/xorgserver12-CVE-1940.patch b/pkgs/servers/x11/xorg/xorgserver12-CVE-1940.patch
deleted file mode 100644
index d85494f9029..00000000000
--- a/pkgs/servers/x11/xorg/xorgserver12-CVE-1940.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 6ca03b9161d33b1d2b55a3a1a913cf88deb2343f Mon Sep 17 00:00:00 2001
-From: Dave Airlie <airlied@gmail.com>
-Date: Wed, 10 Apr 2013 06:09:01 +0000
-Subject: xf86: fix flush input to work with Linux evdev devices.
-
-So when we VT switch back and attempt to flush the input devices,
-we don't succeed because evdev won't return part of an event,
-since we were only asking for 4 bytes, we'd only get -EINVAL back.
-
-This could later cause events to be flushed that we shouldn't have
-gotten.
-
-This is a fix for CVE-2013-1940.
-
-Signed-off-by: Dave Airlie <airlied@redhat.com>
-Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
-Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
----
-diff --git a/hw/xfree86/os-support/shared/posix_tty.c b/hw/xfree86/os-support/shared/posix_tty.c
-index ab3757a..4d08c1e 100644
---- a/hw/xfree86/os-support/shared/posix_tty.c
-+++ b/hw/xfree86/os-support/shared/posix_tty.c
-@@ -421,7 +421,8 @@ xf86FlushInput(int fd)
- {
-     fd_set fds;
-     struct timeval timeout;
--    char c[4];
-+    /* this needs to be big enough to flush an evdev event. */
-+    char c[256];
- 
-     DebugF("FlushingSerial\n");
-     if (tcflush(fd, TCIFLUSH) == 0)
---
-cgit v0.9.0.2-2-gbebe