diff options
author | Ulrich Sibiller <uli42@gmx.de> | 2019-06-17 18:15:05 +0200 |
---|---|---|
committer | Ulrich Sibiller <uli42@gmx.de> | 2019-06-19 00:49:57 +0200 |
commit | ca741177e8a36f0eb5e84a047681bfd2edd3e3ba (patch) | |
tree | 5a3c50931daa99b662e6d54e92b8e86689a24c33 /nx-X11/programs/Xserver/os/xprintf.c | |
parent | 340de78e26e7837561909ae2a44c2ef85863d87b (diff) | |
download | nx-libs-ca741177e8a36f0eb5e84a047681bfd2edd3e3ba.tar.gz nx-libs-ca741177e8a36f0eb5e84a047681bfd2edd3e3ba.tar.bz2 nx-libs-ca741177e8a36f0eb5e84a047681bfd2edd3e3ba.zip |
CloseDevice: call XkbRemoveResourceClient before freeing key class struct
This patch is not necessary at the current code level. But when xkb
code introduced the dev->key check Xorg upstream missed that. So we
backport it now to skip that trap when updating xkb code.
Author: Alan Coopersmith <alan.coopersmith@sun.com>
Date: Mon Jan 4 18:21:54 2010 -0800
CloseDevice: call XkbRemoveResourceClient before freeing key class struct
XkbRemoveResourceClient() returns immediately if dev->key is NULL.
CloseDevice calls XkbRemoveResourceClient until it removes all resources.
If we free dev->key and NULL it before XkbRemoveResourceClient, then
infinite loop ensues, and the server appears to hang on exit or crash.
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Keith Packard <keithp@keithp.com>
Backported-to-NX-by: Ulrich Sibiller <uli42@gmx.de>
Diffstat (limited to 'nx-X11/programs/Xserver/os/xprintf.c')
0 files changed, 0 insertions, 0 deletions