summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortsi <tsi>2008-03-18 20:24:04 +0000
committertsi <tsi>2008-03-18 20:24:04 +0000
commit8a5894482531f897efdeba649190016671a49698 (patch)
tree91f294317eb5ae956e91a1a5a8e664dffdb7a869
parent9cdde6f42a86a917c650affe6b4b2d7f4e2d2326 (diff)
22. Fix null pointer defereference in XKB when LEDs don't exist
(Peter Hutterer, via X.Org bug #13961).
-rw-r--r--programs/Xserver/hw/xfree86/CHANGELOG4
-rw-r--r--programs/Xserver/xkb/xkbLEDs.c5
2 files changed, 7 insertions, 2 deletions
diff --git a/programs/Xserver/hw/xfree86/CHANGELOG b/programs/Xserver/hw/xfree86/CHANGELOG
index bb0d92acc..f209ef810 100644
--- a/programs/Xserver/hw/xfree86/CHANGELOG
+++ b/programs/Xserver/hw/xfree86/CHANGELOG
@@ -1,4 +1,6 @@
XFree86 4.7.99.14 (xx March 2008)
+ 22. Fix null pointer defereference in XKB when LEDs don't exist
+ (Peter Hutterer, via X.Org bug #13961).
21. Adapt from X.Org fixes for the CVE-2007-5760, CVE-2007-5958,
CVE-2007-6427, CVE-2007-6428, CVE-2007-6429 and CVE-2008-0006 security
advisories.
@@ -20663,4 +20665,4 @@ XFree86 3.0a (28 April 1994)
XFree86 3.0 (26 April 1994)
-$XFree86: xc/programs/Xserver/hw/xfree86/CHANGELOG,v 3.3933 2008/03/18 19:41:54 tsi Exp $
+$XFree86: xc/programs/Xserver/hw/xfree86/CHANGELOG,v 3.3934 2008/03/18 19:50:46 tsi Exp $
diff --git a/programs/Xserver/xkb/xkbLEDs.c b/programs/Xserver/xkb/xkbLEDs.c
index eb7fa012c..ca272c41b 100644
--- a/programs/Xserver/xkb/xkbLEDs.c
+++ b/programs/Xserver/xkb/xkbLEDs.c
@@ -1,3 +1,4 @@
+/* $XFree86: xc/programs/Xserver/xkb/xkbLEDs.c,v 3.10tsi Exp $ */
/************************************************************
Copyright (c) 1995 by Silicon Graphics Computer Systems, Inc.
@@ -23,7 +24,6 @@ OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
THE USE OR PERFORMANCE OF THIS SOFTWARE.
********************************************************/
-/* $XFree86: xc/programs/Xserver/xkb/xkbLEDs.c,v 3.9tsi Exp $ */
#include <stdio.h>
#include <ctype.h>
@@ -60,6 +60,9 @@ XkbSrvLedInfoPtr sli;
sli= XkbFindSrvLedInfo(dev,XkbDfltXIClass,XkbDfltXIId,0);
+ if (!sli)
+ return update;
+
if (state_changes&(XkbModifierStateMask|XkbGroupStateMask))
update|= sli->usesEffective;
if (state_changes&(XkbModifierBaseMask|XkbGroupBaseMask))