rpms/xorg-x11-server/F-9 xserver-1.6.1-xkbsendmap.patch, NONE, 1.1 xorg-x11-server.spec, 1.350, 1.351
Peter Hutterer
whot at fedoraproject.org
Sun May 24 23:40:52 UTC 2009
- Previous message: rpms/xorg-x11-server/F-10 xserver-1.6.1-xkbsendmap.patch, NONE, 1.1 xorg-x11-server.spec, 1.395, 1.396
- Next message: rpms/perl-DBIx-Class/devel .cvsignore, 1.3, 1.4 perl-DBIx-Class.spec, 1.8, 1.9 sources, 1.3, 1.4 verbose.patch, 1.2, NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: whot
Update of /cvs/pkgs/rpms/xorg-x11-server/F-9
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv16031
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.2-7
- xserver-1.6.1-xkbsendmap.patch: Fix crash due to uninitialized VModMap
fields (#456376).
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-9/xorg-x11-server.spec,v
retrieving revision 1.350
retrieving revision 1.351
diff -u -p -r1.350 -r1.351
--- xorg-x11-server.spec 17 Mar 2009 23:33:33 -0000 1.350
+++ xorg-x11-server.spec 24 May 2009 23:40:21 -0000 1.351
@@ -19,7 +19,7 @@
Summary: X.Org X11 X server
Name: xorg-x11-server
Version: 1.5.2
-Release: 6%{?dist}
+Release: 7%{?dist}
URL: http://www.x.org
License: MIT
Group: User Interface/X
@@ -65,6 +65,8 @@ Patch5013: xserver-1.5.2-sbusAutoDetecti
# From upstream.
Patch5014: xserver-1.5.3-xinerama-events.patch
+# (#456376) patch from upstream
+Patch5015: xserver-1.6.1-xkbsendmap.patch
%define moduledir %{_libdir}/xorg/modules
%define drimoduledir %{_libdir}/dri
@@ -471,6 +473,10 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Mon May 25 2009 Peter Hutterer <peter.hutterer at redhat.com> 1.5.2-7
+- xserver-1.6.1-xkbsendmap.patch: Fix crash due to uninitialized VModMap
+ fields (#456376).
+
* Wed Mar 18 2009 Peter Hutterer <peter.hutterer at redhat.com> 1.5.2-6
- xserver-1.5.3-xinerama-events.patch: Don't call UpdateSpriteForScreen if
Xinerama is present (#473825)
- Previous message: rpms/xorg-x11-server/F-10 xserver-1.6.1-xkbsendmap.patch, NONE, 1.1 xorg-x11-server.spec, 1.395, 1.396
- Next message: rpms/perl-DBIx-Class/devel .cvsignore, 1.3, 1.4 perl-DBIx-Class.spec, 1.8, 1.9 sources, 1.3, 1.4 verbose.patch, 1.2, NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the scm-commits
mailing list