[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

xorg-server: Changes to 'debian-unstable'



 debian/changelog                          |    8 ++++++
 debian/patches/54_more-sanity-checks.diff |   40 ++++++++++++++++++++++++++++++
 debian/patches/series                     |    1 
 hw/xfree86/common/xf86Xinput.c            |    6 ++--
 4 files changed, 52 insertions(+), 3 deletions(-)

New commits:
commit 208daed7e6101cdc711e2705acf1b87952c1361c
Author: Julien Cristau <jcristau@debian.org>
Date:   Thu Nov 13 23:05:53 2008 +0100

    more sanity checks to stop vmmouse from segfaulting the server
    
    Patch stolen from Fedora (closes: #503459).

diff --git a/debian/changelog b/debian/changelog
index 2a80059..485fdf1 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,8 @@
 xorg-server (2:1.4.2-9) UNRELEASED; urgency=low
 
   * Cherry-pick patches from upstream to make xf86ScaleAxis() work correctly.
+  * Steal patch from Fedora: more sanity checks to stop vmmouse from
+    segfaulting the server (closes: #503459).
 
  -- Julien Cristau <jcristau@debian.org>  Thu, 13 Nov 2008 22:48:41 +0100
 
diff --git a/debian/patches/54_more-sanity-checks.diff b/debian/patches/54_more-sanity-checks.diff
new file mode 100644
index 0000000..302b7d8
--- /dev/null
+++ b/debian/patches/54_more-sanity-checks.diff
@@ -0,0 +1,40 @@
+From 30c077f228f563e4e1f4115b345577d9fd393b68 Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@redhat.com>
+Date: Fri, 24 Oct 2008 15:06:49 +1030
+Subject: [PATCH] dix: extra sanity-checks against potential NULL-dereferences. #434807
+
+Two minor code paths could potentially crash the server:
+- if scr is NULL, we shouldn't try to dereference it.
+- if GPE is called with buttons != 0 but the event is not a
+  ButtonPress or ButtonRelease, the button mapping may dereference a NULL
+  pointer.
+
+Admittedly the second should never happen, but better to guard against it.
+---
+ dix/getevents.c |    6 ++++++
+ 1 files changed, 6 insertions(+), 0 deletions(-)
+
+Index: xorg-server/dix/getevents.c
+===================================================================
+--- xorg-server.orig/dix/getevents.c
++++ xorg-server/dix/getevents.c
+@@ -535,6 +535,9 @@
+     ScreenPtr scr = miPointerGetScreen(pDev);
+ 
+     /* Sanity checks. */
++    if (!scr)
++        return 0;
++
+     if (type != MotionNotify && type != ButtonPress && type != ButtonRelease)
+         return 0;
+ 
+@@ -546,6 +549,9 @@
+     if (!pDev->valuator)
+         return 0;
+ 
++    if (buttons && !pDev->button)
++        return 0;
++
+     if (!coreOnly && pDev->coreEvents)
+         num_events = 2;
+     else
diff --git a/debian/patches/series b/debian/patches/series
index 5c1b515..25604c9 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -27,6 +27,7 @@
 51_xevie-length.diff
 52_xevie-swap-replies.diff
 53_Properly-initialize-io.pi_sel.pc_domain-on-kfreebsd.patch
+54_more-sanity-checks.diff
 91_ttf2pt1
 91_ttf2pt1_updates
 92_xprint-security-holes-fix.patch

commit 91e635e045fd24f486859c95c53589f306a483e7
Author: Julien Cristau <jcristau@debian.org>
Date:   Thu Nov 13 22:49:08 2008 +0100

    update changelog

diff --git a/debian/changelog b/debian/changelog
index 0137782..2a80059 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+xorg-server (2:1.4.2-9) UNRELEASED; urgency=low
+
+  * Cherry-pick patches from upstream to make xf86ScaleAxis() work correctly.
+
+ -- Julien Cristau <jcristau@debian.org>  Thu, 13 Nov 2008 22:48:41 +0100
+
 xorg-server (2:1.4.2-8) unstable; urgency=low
 
   * Add patch from Petr Salinger to fix PCI domain support on kfreebsd

commit 7bb02196971f038204aded1b8971315b4b2373e0
Author: Peter Hutterer <peter.hutterer@redhat.com>
Date:   Thu Oct 30 16:02:13 2008 +1030

    xfree86: fix xf86ScaleAxis once again.
    
    Maybe one day I stop doing stupid patches like
    a3a7c12fcf8e4ac1418f9ea53f76091f309a721b.
    
    So, if X < low, reset to low, and _not_ to high.
    If X > high, reset to high, and _not_ to low.
    (cherry picked from commit 4ce19b4477057a724b548e342d4c6da2b6721824)

diff --git a/hw/xfree86/common/xf86Xinput.c b/hw/xfree86/common/xf86Xinput.c
index 23021b3..d8b05ab 100644
--- a/hw/xfree86/common/xf86Xinput.c
+++ b/hw/xfree86/common/xf86Xinput.c
@@ -738,9 +738,9 @@ xf86ScaleAxis(int	Cx,
     }
     
     if (X > Sxhigh)
-	X = Sxlow;
-    if (X < Sxlow)
 	X = Sxhigh;
+    if (X < Sxlow)
+	X = Sxlow;
     
     return (X);
 }

commit 068e68e206223aef2b6b85fc9b2468589645298a
Author: Peter Hutterer <peter@cs.unisa.edu.au>
Date:   Sun Jun 8 23:38:45 2008 +0930

    xfree86: Fix up xf86ScaleAxis
    
    Some driver still call it, so we might as well work correctly. Always
    resetting X to the Sxhigh is sub-optimal.
    (cherry picked from commit a3a7c12fcf8e4ac1418f9ea53f76091f309a721b)

diff --git a/hw/xfree86/common/xf86Xinput.c b/hw/xfree86/common/xf86Xinput.c
index ca2be5c..23021b3 100644
--- a/hw/xfree86/common/xf86Xinput.c
+++ b/hw/xfree86/common/xf86Xinput.c
@@ -737,9 +737,9 @@ xf86ScaleAxis(int	Cx,
 	ErrorF ("Divide by Zero in xf86ScaleAxis");
     }
     
-    if (X > Sxlow)
+    if (X > Sxhigh)
 	X = Sxlow;
-    if (X < Sxhigh)
+    if (X < Sxlow)
 	X = Sxhigh;
     
     return (X);


Reply to: