Files
xserver/xkb
Michal Srb 74627d13c7 xkb: Fix heap overflow caused by optimized away min.
Calling strlen on char[4] that does not need to contain '\0' is wrong and X
server may end up running into uninitialized memory.

In addition GCC 8 is clever enough that it knows that strlen on char[4] can
return 0, 1, 2, 3 or cause undefined behavior. With this knowledge it can
optimize away the min(..., 4). In reality it can cause the memcpy to be called
with bigger size than 4 and overflow the destination buffer.

Fixes: 83913de25d (xkb: Silence some compiler warnings)
Closes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/288
Signed-off-by: Matt Turner <mattst88@gmail.com>
2020-12-04 18:31:06 -05:00
..
2014-11-12 10:25:00 +10:00
2014-11-12 10:25:00 +10:00
2014-11-12 10:25:00 +10:00
2014-11-12 10:25:00 +10:00
2020-07-05 13:07:33 -07:00
2014-11-12 10:25:00 +10:00
2020-12-01 15:28:58 +01:00
2017-10-30 13:45:20 -04:00
2016-04-29 11:19:58 -04:00
2014-11-12 10:25:00 +10:00
2014-11-12 10:25:00 +10:00
2017-03-23 13:19:51 -04:00
2014-11-12 10:25:00 +10:00
2017-11-06 16:49:11 -05: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.