xserver-multidpi/xkb
Tomas Janousek 81b3b0cce0 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@nomi.cz>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-21 10:42:35 +10:00
..
ddxBeep.c Remove #define NEED_EVENTS and NEED_REPLIES 2008-12-12 11:43:32 +10:00
ddxCtrls.c Remove #define NEED_EVENTS and NEED_REPLIES 2008-12-12 11:43:32 +10:00
ddxDevBtn.c Input: change processing API to InternalEvents. 2009-02-23 17:52:40 +10:00
ddxFakeMtn.c Remove #define NEED_EVENTS and NEED_REPLIES 2008-12-12 11:43:32 +10:00
ddxKillSrv.c Remove #define NEED_EVENTS and NEED_REPLIES 2008-12-12 11:43:32 +10:00
ddxLEDs.c Remove #define NEED_EVENTS and NEED_REPLIES 2008-12-12 11:43:32 +10:00
ddxList.c XKB: Remove support for setting combined keymaps 2009-01-22 15:08:56 +11:00
ddxLoad.c XKB: Remove support for setting combined keymaps 2009-01-22 15:08:56 +11:00
ddxPrivate.c Remove #define NEED_EVENTS and NEED_REPLIES 2008-12-12 11:43:32 +10:00
ddxVT.c Remove #define NEED_EVENTS and NEED_REPLIES 2008-12-12 11:43:32 +10:00
Makefile.am XKB: Remove unused XkbProcessOtherEvent 2009-01-22 15:08:59 +11:00
maprules.c XKB: Remove descriptions from maprules 2009-01-22 15:08:56 +11:00
README.compiled R6.6 is the Xorg base-line 2003-11-14 15:54:54 +00:00
xkb.c Bug #6428, #16458, #21464: Fix crash due to uninitialized VModMap fields. 2009-05-21 10:42:35 +10:00
xkb.h XKB: Move XkbCopyKeymap definition to xkbsrv.h 2009-01-20 15:32:18 +11:00
xkbAccessX.c Fix build with --enable-debug. 2009-03-03 16:53:06 +10:00
xkbActions.c xkb: remove oldState from XkbHandleActions. 2009-05-06 14:37:32 +10:00
XKBAlloc.c Remove #define NEED_EVENTS and NEED_REPLIES 2008-12-12 11:43:32 +10:00
xkbDflts.h Static markup and dead code cull over xkb/. 2007-03-20 18:37:02 -04:00
xkbEvents.c xkb: remove Device/Enter leave handling - XI2 enter/leave don't have compat state. 2009-03-20 15:17:55 +10:00
xkbfmisc.c Constify atom name strings 2009-02-03 10:06:00 -08:00
XKBGAlloc.c Remove #define NEED_EVENTS and NEED_REPLIES 2008-12-12 11:43:32 +10:00
xkbgeom.h XKB: Remove usage of client-side types 2008-02-17 22:52:07 +02:00
xkbInit.c xkb: if kbd init failed, NULL out the pointers after freeing them (#21278) 2009-05-16 12:20:58 +10:00
xkbLEDs.c xkb: plug a memory leak in XkbCopySrvLedInfo (#20756) 2009-03-23 16:07:23 +10:00
XKBMAlloc.c Remove #define NEED_EVENTS and NEED_REPLIES 2008-12-12 11:43:32 +10:00
XKBMisc.c XKB: Sanitise vmods in actions 2009-01-22 15:08:57 +11:00
xkbout.c Remove #define NEED_EVENTS and NEED_REPLIES 2008-12-12 11:43:32 +10:00
xkbPrKeyEv.c Input: change processing API to InternalEvents. 2009-02-23 17:52:40 +10:00
xkbSwap.c Remove #define NEED_EVENTS and NEED_REPLIES 2008-12-12 11:43:32 +10:00
xkbtext.c Constify atom name strings 2009-02-03 10:06:00 -08:00
xkbUtils.c Xi: add GrabButton and GrabKeysym code. 2009-05-06 14:37:33 +10:00
xkmread.c Constify atom name strings 2009-02-03 10:06:00 -08:00

The X server uses this directory to store the compiled version of the
current keymap and/or any scratch keymaps used by clients.  The X server
or some other tool might destroy or replace the files in this directory,
so it is not a safe place to store compiled keymaps for long periods of
time.  The default keymap for any server is usually stored in:
     X<num>-default.xkm
where <num> is the display number of the server in question, which makes
it possible for several servers *on the same host* to share the same 
directory.

Unless the X server is modified, sharing this directory between servers on
different hosts could cause problems.