42ae2e8199
The current code seems to skip syms with width less than type->num_levels when calculating the total size for the new size_syms. This leads to less space being allocated than necessary during the next phase, which is to copy over the syms to the new location. This results in an overflow leading to a crash. Signed-off-by: Siddhesh Poyarekar <siddhesh.poyarekar@gmail.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> |
||
---|---|---|
.. | ||
ddxBeep.c | ||
ddxCtrls.c | ||
ddxKillSrv.c | ||
ddxLEDs.c | ||
ddxList.c | ||
ddxLoad.c | ||
ddxPrivate.c | ||
ddxVT.c | ||
Makefile.am | ||
maprules.c | ||
README.compiled | ||
xkb.c | ||
xkb.h | ||
xkbAccessX.c | ||
xkbActions.c | ||
XKBAlloc.c | ||
xkbDflts.h | ||
xkbEvents.c | ||
xkbfmisc.c | ||
XKBGAlloc.c | ||
xkbgeom.h | ||
xkbInit.c | ||
xkbLEDs.c | ||
XKBMAlloc.c | ||
XKBMisc.c | ||
xkbout.c | ||
xkbPrKeyEv.c | ||
xkbSwap.c | ||
xkbtext.c | ||
xkbUtils.c | ||
XKM_file_format.txt | ||
xkmread.c |
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.