rpms/xorg-x11-server/F-10 xserver-1.6.1-xkbsendmap.patch, NONE, 1.1 xorg-x11-server.spec, 1.395, 1.396
Peter Hutterer
whot at fedoraproject.org
Sun May 24 23:36:41 UTC 2009
- Previous message (by thread): rpms/perl-Panotools-Script/devel .cvsignore, 1.3, 1.4 perl-Panotools-Script.spec, 1.3, 1.4 sources, 1.3, 1.4
- Next message (by thread): rpms/xorg-x11-server/F-9 xserver-1.6.1-xkbsendmap.patch, NONE, 1.1 xorg-x11-server.spec, 1.350, 1.351
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: whot
Update of /cvs/pkgs/rpms/xorg-x11-server/F-10
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv14333
Modified Files:
xorg-x11-server.spec
Added Files:
xserver-1.6.1-xkbsendmap.patch
Log Message:
* Mon May 25 2009 Peter Hutterer <peter.hutterer at redhat.com> 1.5.3-17
- xserver-1.6.1-xkbsendmap.patch: Fix crash due to uninitialized VModMap fields.
xserver-1.6.1-xkbsendmap.patch:
--- NEW FILE xserver-1.6.1-xkbsendmap.patch ---
>From 525aa17f804d37d1cfcbbf6b8e6cddb45e999b20 Mon Sep 17 00:00:00 2001
From: Tomas Janousek <tomi at nomi.cz>
Date: Wed, 20 May 2009 15:03:01 +0200
Subject: [PATCH] Bug #6428, #16458, #21464: Fix crash due to uninitialized VModMap fields.
In ProcXkbGetKbdByName, mrep.firstVModMapKey, .nVModMapKeys and
.totalVModMapKeys were not initialized, contained random values and caused
accesses to unallocated and later modified memory, causing
XkbSizeVirtualModMap and XkbWriteVirtualModMap to see different number of
nonzero values, resulting in writes past the end of an array in XkbSendMap.
This patch initializes those values sensibly and reverts commits 5c0a2088 and
6dd4fc46, which have been plain non-sense.
Signed-off-by: Tomas Janousek <tomi at nomi.cz>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
---
xkb/xkb.c | 8 +++++---
1 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/xkb/xkb.c b/xkb/xkb.c
index 445c55f..ec46238 100644
--- a/xkb/xkb.c
+++ b/xkb/xkb.c
@@ -1308,7 +1308,7 @@ XkbSizeVirtualModMap(XkbDescPtr xkb,xkbGetMapReply *rep)
rep->totalVModMapKeys= 0;
return 0;
}
- for (nRtrn=i=0;i<rep->nVModMapKeys-1;i++) {
+ for (nRtrn=i=0;i<rep->nVModMapKeys;i++) {
if (xkb->server->vmodmap[i+rep->firstVModMapKey]!=0)
nRtrn++;
}
@@ -1327,7 +1327,7 @@ unsigned short * pMap;
wire= (xkbVModMapWireDesc *)buf;
pMap= &xkb->server->vmodmap[rep->firstVModMapKey];
- for (i=0;i<rep->nVModMapKeys-1;i++,pMap++) {
+ for (i=0;i<rep->nVModMapKeys;i++,pMap++) {
if (*pMap!=0) {
wire->key= i+rep->firstVModMapKey;
wire->vmods= *pMap;
@@ -5670,7 +5670,7 @@ ProcXkbGetKbdByName(ClientPtr client)
mrep.present = 0;
mrep.totalSyms = mrep.totalActs =
mrep.totalKeyBehaviors= mrep.totalKeyExplicit=
- mrep.totalModMapKeys= 0;
+ mrep.totalModMapKeys= mrep.totalVModMapKeys= 0;
if (rep.reported&(XkbGBN_TypesMask|XkbGBN_ClientSymbolsMask)) {
mrep.present|= XkbKeyTypesMask;
mrep.firstType = 0;
@@ -5696,6 +5696,8 @@ ProcXkbGetKbdByName(ClientPtr client)
mrep.firstKeyExplicit = new->min_key_code;
mrep.nKeyActs = mrep.nKeyBehaviors =
mrep.nKeyExplicit = XkbNumKeys(new);
+ mrep.firstVModMapKey= new->min_key_code;
+ mrep.nVModMapKeys= XkbNumKeys(new);
}
else {
mrep.virtualMods= 0;
--
1.6.3.rc1.2.g0164.dirty
Index: xorg-x11-server.spec
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-server/F-10/xorg-x11-server.spec,v
retrieving revision 1.395
retrieving revision 1.396
diff -u -p -r1.395 -r1.396
--- xorg-x11-server.spec 8 Apr 2009 21:21:54 -0000 1.395
+++ xorg-x11-server.spec 24 May 2009 23:36:07 -0000 1.396
@@ -19,7 +19,7 @@
Summary: X.Org X11 X server
Name: xorg-x11-server
Version: 1.5.3
-Release: 16%{?dist}
+Release: 17%{?dist}
URL: http://www.x.org
License: MIT
Group: User Interface/X
@@ -105,6 +105,8 @@ Patch6009: xserver-1.5.3-xkb-colors.patc
Patch6010: xserver-1.5.3-hdmi.patch
Patch6011: xserver-1.5.3-dga-crash-fix.patch
+# #456378, patch from upstream
+Patch6012: xserver-1.6.1-xkbsendmap.patch
%define moduledir %{_libdir}/xorg/modules
%define drimoduledir %{_libdir}/dri
@@ -538,6 +540,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Mon May 25 2009 Peter Hutterer <peter.hutterer at redhat.com> 1.5.3-17
+- xserver-1.6.1-xkbsendmap.patch: Fix crash due to uninitialized VModMap fields.
+
* Wed Apr 08 2009 Adam Jackson <ajax at redhat.com> 1.5.3-16
- xserver-1.5.3-dga-crash-fix.patch: Track client state even for DGA1
clients, and recover correctly.
- Previous message (by thread): rpms/perl-Panotools-Script/devel .cvsignore, 1.3, 1.4 perl-Panotools-Script.spec, 1.3, 1.4 sources, 1.3, 1.4
- Next message (by thread): rpms/xorg-x11-server/F-9 xserver-1.6.1-xkbsendmap.patch, NONE, 1.1 xorg-x11-server.spec, 1.350, 1.351
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-extras-commits
mailing list