forked from pool/xorg-x11-server
This commit is contained in:
parent
f01787fa91
commit
6d8464fa76
@ -0,0 +1,50 @@
|
|||||||
|
>From 829037395f8b93e69a30852a95e378f78c3ccd6b Mon Sep 17 00:00:00 2001
|
||||||
|
From: Luc Verhaegen <libv@skynet.be>
|
||||||
|
Date: Wed, 12 Nov 2008 17:09:33 +0100
|
||||||
|
Subject: [PATCH] Xinput: Catch missing configlayout when deleting device.
|
||||||
|
|
||||||
|
In DeleteInputDeviceRequest (xf86Xinput.c), we access idev members
|
||||||
|
even if idev is null. This takes down the xserver hard in some cases
|
||||||
|
(kernel SIGABRT), and segfaults on other cases.
|
||||||
|
---
|
||||||
|
hw/xfree86/common/xf86Xinput.c | 23 +++++++++++++----------
|
||||||
|
1 files changed, 13 insertions(+), 10 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/hw/xfree86/common/xf86Xinput.c b/hw/xfree86/common/xf86Xinput.c
|
||||||
|
index 710e787..c0b6124 100644
|
||||||
|
--- a/hw/xfree86/common/xf86Xinput.c
|
||||||
|
+++ b/hw/xfree86/common/xf86Xinput.c
|
||||||
|
@@ -466,17 +466,20 @@ DeleteInputDeviceRequest(DeviceIntPtr pDev)
|
||||||
|
else
|
||||||
|
xf86DeleteInput(pInfo, 0);
|
||||||
|
|
||||||
|
- /* devices added through HAL aren't in the config layout */
|
||||||
|
- it = xf86ConfigLayout.inputs;
|
||||||
|
- while(*it && *it != idev)
|
||||||
|
- it++;
|
||||||
|
-
|
||||||
|
- if (!(*it)) /* end of list, not in the layout */
|
||||||
|
+ if (idev)
|
||||||
|
{
|
||||||
|
- xfree(idev->driver);
|
||||||
|
- xfree(idev->identifier);
|
||||||
|
- xf86optionListFree(idev->commonOptions);
|
||||||
|
- xfree(idev);
|
||||||
|
+ /* devices added through HAL aren't in the config layout */
|
||||||
|
+ it = xf86ConfigLayout.inputs;
|
||||||
|
+ while(*it && *it != idev)
|
||||||
|
+ it++;
|
||||||
|
+
|
||||||
|
+ if (!(*it)) /* end of list, not in the layout */
|
||||||
|
+ {
|
||||||
|
+ xfree(idev->driver);
|
||||||
|
+ xfree(idev->identifier);
|
||||||
|
+ xf86optionListFree(idev->commonOptions);
|
||||||
|
+ xfree(idev);
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
1.5.2.4
|
||||||
|
|
@ -1,3 +1,12 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Nov 13 17:55:01 CET 2008 - sndirsch@suse.de
|
||||||
|
|
||||||
|
- 0001-Xinput-Catch-missing-configlayout-when-deleting-dev.patch
|
||||||
|
* In DeleteInputDeviceRequest (xf86Xinput.c), we access idev
|
||||||
|
members even if idev is null. This takes down the xserver
|
||||||
|
hard in some cases (kernel SIGABRT), and segfaults on other
|
||||||
|
cases (Luc Verhaegen).
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Sat Nov 8 05:22:55 CET 2008 - sndirsch@suse.de
|
Sat Nov 8 05:22:55 CET 2008 - sndirsch@suse.de
|
||||||
|
|
||||||
|
@ -29,7 +29,7 @@ BuildRequires: libjpeg-devel
|
|||||||
Url: http://xorg.freedesktop.org/
|
Url: http://xorg.freedesktop.org/
|
||||||
%define EXPERIMENTAL 0
|
%define EXPERIMENTAL 0
|
||||||
Version: 7.4
|
Version: 7.4
|
||||||
Release: 14
|
Release: 15
|
||||||
License: X11/MIT
|
License: X11/MIT
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
Group: System/X11/Servers/XF86_4
|
Group: System/X11/Servers/XF86_4
|
||||||
@ -102,6 +102,7 @@ Patch121: miPointerUpdate-crashfix.diff
|
|||||||
Patch122: unplugged_monitor_crashfix.diff
|
Patch122: unplugged_monitor_crashfix.diff
|
||||||
Patch123: vidmode-sig11.diff
|
Patch123: vidmode-sig11.diff
|
||||||
Patch124: commit-59f9fb4b8.diff
|
Patch124: commit-59f9fb4b8.diff
|
||||||
|
Patch125: 0001-Xinput-Catch-missing-configlayout-when-deleting-dev.patch
|
||||||
|
|
||||||
%description
|
%description
|
||||||
This package contains the X.Org Server.
|
This package contains the X.Org Server.
|
||||||
@ -219,6 +220,7 @@ popd
|
|||||||
%patch122 -p0
|
%patch122 -p0
|
||||||
%patch123 -p0
|
%patch123 -p0
|
||||||
%patch124 -p1
|
%patch124 -p1
|
||||||
|
%patch125 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
pushd xorg-docs-*
|
pushd xorg-docs-*
|
||||||
@ -535,6 +537,12 @@ exit 0
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Nov 13 2008 sndirsch@suse.de
|
||||||
|
- 0001-Xinput-Catch-missing-configlayout-when-deleting-dev.patch
|
||||||
|
* In DeleteInputDeviceRequest (xf86Xinput.c), we access idev
|
||||||
|
members even if idev is null. This takes down the xserver
|
||||||
|
hard in some cases (kernel SIGABRT), and segfaults on other
|
||||||
|
cases (Luc Verhaegen).
|
||||||
* Sat Nov 08 2008 sndirsch@suse.de
|
* Sat Nov 08 2008 sndirsch@suse.de
|
||||||
- commit-59f9fb4b8.diff
|
- commit-59f9fb4b8.diff
|
||||||
* XAA PixmapOps: Sync before accessing unwrapped callbacks.
|
* XAA PixmapOps: Sync before accessing unwrapped callbacks.
|
||||||
|
Loading…
Reference in New Issue
Block a user