xserver-multidpi/xkb
Andreas Wettstein 3578cc3c2e xkb: Do not use base group as an array index.
The base group is not brought into range and, therefore, using it as an array
index crashed the X server.  Also, at this place, we should ignore locked
groups, but not latched groups.  Therefore, use sum of base and latched groups,
brought into range.

Reproducible with:
key <FK07> {
    type= "ONE_LEVEL",
    symbols[Group1]= [              NoSymbol ],
    actions[Group1]= [ LatchGroup(group=-1, clearLocks) ]
};

And hitting F7 will exceed the group level and access arbitrary memory.

Signed-off-by: Andreas Wettstein <wettstein509@solnet.ch>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-01-09 11:23:12 +10:00
..
ddxBeep.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
ddxCtrls.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
ddxKillSrv.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
ddxLEDs.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
ddxLoad.c xwin: Clean up os wrappers for System, Popen and Pclose on Windows 2012-07-17 16:08:04 +01:00
ddxPrivate.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
ddxVT.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
Makefile.am XKB: Remove component listing support 2012-11-19 12:12:28 +10:00
maprules.c Apply partial matches for option (#25873) 2012-11-06 10:48:32 +10:00
README.compiled R6.6 is the Xorg base-line 2003-11-14 15:54:54 +00:00
xkb.c Fix formatting of address operators 2012-12-05 18:09:48 -06:00
xkb.h Move extension initialisation prototypes into extinit.h 2012-07-09 23:06:41 -07:00
xkbAccessX.c xkb: only post a XTest release if the XTest device has the button down 2012-12-05 17:22:28 +10:00
xkbActions.c xkb: Remove redundant declarations. 2012-05-14 13:16:50 +01:00
XKBAlloc.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
xkbDflts.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
xkbEvents.c Use C99 designated initializers in extension Events 2012-07-09 22:52:30 -07:00
xkbfmisc.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
XKBGAlloc.c XKB: Geom: Remove unused code 2012-07-10 00:42:09 -07:00
xkbgeom.h XKB: Geom: Remove unused code 2012-07-10 00:42:09 -07:00
xkbInit.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
xkbLEDs.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
XKBMAlloc.c xkb: Allocate size_syms correctly when width of a type increases 2012-06-04 11:28:44 +10:00
XKBMisc.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
xkbout.c Fix formatting of address operators 2012-12-05 18:09:48 -06:00
xkbPrKeyEv.c xkb: fix shadow warnings 2012-11-05 13:25:05 -06:00
xkbSwap.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
xkbtext.c xkb: fix shadow warnings 2012-11-05 13:25:05 -06:00
xkbUtils.c xkb: Do not use base group as an array index. 2013-01-09 11:23:12 +10:00
XKM_file_format.txt xkb: Add XKM file format description. 2010-02-02 10:03:21 +10:00
xkmread.c xkb: fix shadow warnings 2012-11-05 13:25:05 -06: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.