xserver-multidpi/xkb
Peter Hutterer ac13145dbc xkb: if kbd init failed, NULL out the pointers after freeing them (#21278)
Reproducible:
Configure a server that uses the keyboard driver with an invalid ruleset,
e.g. (Option "XkbRules" "foobar"). Ensure that Option "AllowEmptyInput" is
"off" in the ServerFlags or ServerLayout section. Start the server.
After failing to init the keymap, the server will try to clean up after the
device, double-freeing some xkb structs that have not been reset properly.

X.Org Bug 21278 <http://bugs.freedesktop.org/show_bug.cgi?id=21278>

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-11 15:54:12 +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 _XkbAlloc, _XkbCalloc, _XkbRealloc and _XkbFree 2009-05-08 14:28:53 +10:00
README.compiled R6.6 is the Xorg base-line 2003-11-14 15:54:54 +00:00
xkb.c xkb: remove _XkbAlloc, _XkbCalloc, _XkbRealloc and _XkbFree 2009-05-08 14:28:53 +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: xkbi has a pointer to the device - use this instead of inputInfo.pointer. 2009-03-16 13:29:07 +10:00
XKBAlloc.c xkb: remove _XkbAlloc, _XkbCalloc, _XkbRealloc and _XkbFree 2009-05-08 14:28:53 +10:00
xkbDflts.h Static markup and dead code cull over xkb/. 2007-03-20 18:37:02 -04:00
xkbEvents.c xkb: remove _XkbAlloc, _XkbCalloc, _XkbRealloc and _XkbFree 2009-05-08 14:28:53 +10:00
xkbfmisc.c Constify atom name strings 2009-02-03 10:06:00 -08:00
XKBGAlloc.c xkb: remove _XkbAlloc, _XkbCalloc, _XkbRealloc and _XkbFree 2009-05-08 14:28:53 +10:00
xkbgeom.h xkb: remove some now-useless XFUNCPROTOBEGIN 2009-05-08 14:28:44 +10:00
xkbInit.c xkb: if kbd init failed, NULL out the pointers after freeing them (#21278) 2009-05-11 15:54:12 +10:00
xkbLEDs.c xkb: remove _XkbAlloc, _XkbCalloc, _XkbRealloc and _XkbFree 2009-05-08 14:28:53 +10:00
XKBMAlloc.c xkb: remove _XkbAlloc, _XkbCalloc, _XkbRealloc and _XkbFree 2009-05-08 14:28:53 +10:00
XKBMisc.c xkb: remove _XkbAlloc, _XkbCalloc, _XkbRealloc and _XkbFree 2009-05-08 14:28:53 +10: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 xkb: don't overrun the map index when accessing symbols. 2009-03-20 14:48:57 +10:00
xkmread.c xkb: remove _XkbAlloc, _XkbCalloc, _XkbRealloc and _XkbFree 2009-05-08 14:28:53 +10: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.