xserver-multidpi/xkb
Tomas Janousek bbe0be1e45 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>
(cherry picked from commit 525aa17f80)

Signed-off-by: Keith Packard <keithp@keithp.com>
2009-06-29 14:11:27 -07:00
..
ddxBeep.c Merge branch 'master' into mpx 2008-03-04 18:11:10 +10:30
ddxCtrls.c ddxCtrls.c: XkbDDXUsesSoftRepeat always returns 1 now 2008-12-09 20:49:22 -08:00
ddxDevBtn.c mi: ensure chained button mappings from SD -> MD (#19282) 2009-01-30 17:22:15 -08:00
ddxFakeMtn.c Merge branch 'master' into mpx 2008-01-03 17:04:54 +10:30
ddxInit.c Death to RCS tags. 2007-06-29 14:06:52 -04:00
ddxKeyClick.c XKB: Remove a bunch of mad ifdefs 2008-02-17 22:52:07 +02:00
ddxKillSrv.c XKB: Actions: Don't run certain actions on the core keyboard 2007-12-05 19:37:48 +00:00
ddxLEDs.c Death to RCS tags. 2007-06-29 14:06:52 -04:00
ddxList.c Merge branch 'master' into mpx 2008-03-04 18:11:10 +10:30
ddxLoad.c Remove duplication from code paths in XkbDDXCompileKeymapByNames 2008-11-25 15:51:17 -08:00
ddxPrivate.c Static markup and dead code cull over xkb/. 2007-03-20 18:37:02 -04:00
ddxVT.c Static markup and dead code cull over xkb/. 2007-03-20 18:37:02 -04:00
Makefile.am xkb: when faking mouse button events, fake them on the correct devices. 2008-11-04 16:04:15 +10:30
maprules.c Move strcasecmp(), strcasencmp() and strcasestr() prototypes to os.h 2008-08-10 23:07:46 +02: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-06-29 14:11:27 -07:00
xkb.h XKB: Move headers into the server tree 2008-02-17 22:52:07 +02:00
xkbAccessX.c xkb: don't send core events on SlowKeys. 2008-07-28 09:04:48 +09:30
xkbActions.c xkb: fix typo - missing negation when checking button state. 2009-01-30 17:12:17 -08:00
XKBAlloc.c XKB: Move headers into the server tree 2008-02-17 22:52:07 +02:00
xkbDflts.h Static markup and dead code cull over xkb/. 2007-03-20 18:37:02 -04:00
xkbEvents.c xkb: don't attempt to filter events for devices without key classes. 2008-12-01 08:16:57 +10:00
xkbfmisc.c XKB: Fix initial map setting on startup 2008-03-04 03:50:25 +02:00
XKBGAlloc.c XKB: Remove usage of client-side types 2008-02-17 22:52:07 +02:00
xkbgeom.h XKB: Remove usage of client-side types 2008-02-17 22:52:07 +02:00
xkbInit.c xkb: Allow NULL as rulesFile in XkbSetRulesDflts. 2008-12-16 12:03:04 -08:00
xkbLEDs.c xkb: fix crash caused by uninitialised variable. 2008-05-22 16:00:21 +09:30
XKBMAlloc.c XKB: Remove a bunch of mad ifdefs 2008-02-17 22:52:07 +02:00
XKBMisc.c XKB: Fix thinko, causing warning (erroneously fixed in 5544c51447) 2008-11-04 16:01:07 +10:30
xkbout.c XKB: Ditch XkbFileInfo 2008-02-17 22:52:08 +02:00
xkbPrKeyEv.c Move EXTENSION_BASE and EXTENSION_EVENT_BASE to misc.h. 2008-10-31 17:09:13 +10:30
xkbPrOtherEv.c XkbProcessOtherEvent: Don't depend on now-removed header 2008-02-17 22:52:08 +02:00
xkbSwap.c Merge branch 'master' into mpx 2008-03-04 18:11:10 +10:30
xkbtext.c XKB: Remove usage of client-side types 2008-02-17 22:52:07 +02:00
xkbUtils.c xkb: Fix wrong colour reference in XKB geometry copying. #20081 2009-03-27 15:25:36 -04:00
xkmread.c XKB: Ditch XkbFileInfo 2008-02-17 22:52:08 +02: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.