diff options
author | Vladimír Čunát <vcunat@gmail.com> | 2013-12-28 23:28:30 +0100 |
---|---|---|
committer | Vladimír Čunát <vcunat@gmail.com> | 2013-12-29 10:01:22 +0100 |
commit | e740b565cf01082be314dff8833c4a65a834bcff (patch) | |
tree | 59e8ce4fd4ecf004581e1f1eed533970fd6eba69 /pkgs/servers/x11/xorg | |
parent | cb639302df235bc1a9a3f1c14901c021813ee6b5 (diff) | |
parent | 9f735bdf5784ef1d93122036d5add9ad35c19a35 (diff) | |
download | nixpkgs-e740b565cf01082be314dff8833c4a65a834bcff.tar nixpkgs-e740b565cf01082be314dff8833c4a65a834bcff.tar.gz nixpkgs-e740b565cf01082be314dff8833c4a65a834bcff.tar.bz2 nixpkgs-e740b565cf01082be314dff8833c4a65a834bcff.tar.lz nixpkgs-e740b565cf01082be314dff8833c4a65a834bcff.tar.xz nixpkgs-e740b565cf01082be314dff8833c4a65a834bcff.tar.zst nixpkgs-e740b565cf01082be314dff8833c4a65a834bcff.zip |
Merge master into stdenv-updates
Conflicts (easy): pkgs/development/compilers/llvm/default.nix pkgs/development/compilers/openjdk/default.nix pkgs/development/libraries/icu/default.nix pkgs/development/libraries/libssh/default.nix pkgs/development/libraries/libxslt/default.nix pkgs/development/tools/parsing/bison/3.x.nix
Diffstat (limited to 'pkgs/servers/x11/xorg')
-rw-r--r-- | pkgs/servers/x11/xorg/default.nix | 58 | ||||
-rw-r--r-- | pkgs/servers/x11/xorg/overrides.nix | 13 | ||||
-rw-r--r-- | pkgs/servers/x11/xorg/tarballs-7.7.list | 18 | ||||
-rw-r--r-- | pkgs/servers/x11/xorg/xorgserver-cve-2013-4396.patch | 75 | ||||
-rw-r--r-- | pkgs/servers/x11/xorg/xorgserver-dri-path.patch | 19 | ||||
-rw-r--r-- | pkgs/servers/x11/xorg/xorgserver12-CVE-1940.patch | 34 |
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 |