xserver/dix
Oldřich Jedlička 219a0d8fb5 Allow driver to call DeleteInputDeviceRequest during UnInit
When the input driver (like xf86-input-wacom) removes it's devices
during a call to UnInit, the CloseDownDevices() cannot handle it. The
"next" variable can become a pointer to freed memory.

The patch introduces order-independent device freeing mechanism by
remembering the already freed device ids. The devices can reorder any
time during freeing. No device will be double-freed - if the removing
failed for any reason; some implementations of DeleteInputDeviceRequest
don't free the devices already.

Signed-off-by: Oldřich Jedlička <oldium.pro@seznam.cz>
Reviewed-by: Simon Thum <simon.thum@gmx.de>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 08b22c7faf)
2010-02-05 08:18:15 +10:00
..
atom.c Constify atom name strings 2009-02-03 10:06:00 -08:00
buildatoms XFree86 4.3.0.1 2003-11-14 16:49:22 +00:00
BuiltInAtoms R6.6 is the Xorg base-line 2003-11-14 15:54:54 +00:00
colormap.c dix: Fix up colormap fixup. 2009-10-23 13:24:49 +10:00
cursor.c dix: Fixes a memory leak when a cursor resource is released. 2009-11-06 14:27:02 +10:00
deprecated.c dix: remove dixLookupResource - we don't have any users left. 2009-09-07 10:51:16 +10:00
devices.c Allow driver to call DeleteInputDeviceRequest during UnInit 2010-02-05 08:18:15 +10:00
dispatch.c Update Sun license notices to current X.Org standard form 2009-12-18 17:12:00 -08:00
dispatch.h Remove RCS tags. Fix Xprint makefile braindamage. 2006-07-21 17:56:00 -04:00
dixfonts.c dix: Fix potential memory corruption in doListFontsWithInfo. 2009-10-02 16:19:41 +10:00
dixutils.c Fix most remaining deprecated resource lookups. 2009-04-29 01:04:37 -04:00
enterleave.c dix: call SetFocusOut and LeaveWindow when disabling a device. 2009-08-03 10:11:48 +10:00
enterleave.h dix: call SetFocusOut and LeaveWindow when disabling a device. 2009-08-03 10:11:48 +10:00
eventconvert.c dix: report XI1 axis values correctly if first_valuator != 0 2009-09-25 09:14:55 +10:00
events.c Update Sun license notices to current X.Org standard form 2009-12-18 17:12:00 -08:00
extension.c dix: switch to byte-counting functions. 2009-07-14 10:05:54 +10:00
ffs.c Rework symbol visibility for easier maintenance 2008-12-03 05:43:34 -02:00
gc.c Replace dixLookupResource by dixLookupResourceBy{Type,Class} 2009-03-09 13:08:09 -07:00
getevents.c Fix typo in updateSlaveDeviceCoords 2010-02-05 08:17:55 +10:00
globals.c DPMS: Remove the defaultDPMS* variables 2009-04-03 18:22:20 -04:00
glyphcurs.c Rework symbol visibility for easier maintenance 2008-12-03 05:43:34 -02:00
grabs.c input: remove XI2 keysym grabs, use keycode grabs instead. 2009-07-22 12:12:51 +10:00
initatoms.c Rework symbol visibility for easier maintenance 2008-12-03 05:43:34 -02:00
inpututils.c Un-export ApplyPointerMapping. This is an in-server function. 2009-09-03 08:39:26 +10:00
main.c Disable the out-of-bounds workaround in pixman. 2009-08-11 14:40:42 -04:00
Makefile.am dtrace: Add Xserver-dtrace.h to CLEANFILES 2009-12-24 07:54:41 -08:00
pixmap.c Remove a bunch of useless casts. 2009-01-22 02:11:16 -05:00
privates.c Remove a bunch of useless casts. 2009-01-22 02:11:16 -05:00
property.c dix: don't return BadMatch from GetProperty (#23562) 2009-09-03 14:19:35 +10:00
protocol.txt Add DRI2 requests to protocol.txt 2009-08-28 23:29:05 -04:00
ptrveloc.c Revert "Coverity Prevent: RESOURCE_LEAK in AccelSetProfileProperty:" 2009-07-17 06:34:00 +03:00
registry.c Correct outdated e-mail address in "Author" statements. 2009-09-02 17:56:52 -04:00
resource.c Update Sun license notices to current X.Org standard form 2009-12-18 17:12:00 -08:00
selection.c xserver: Avoid sending uninitialized padding data over the network 2009-02-16 13:28:38 +10:00
swaprep.c dix: switch to byte-counting functions. 2009-07-14 10:05:54 +10:00
swapreq.c Remove #define NEED_EVENTS and NEED_REPLIES 2008-12-12 11:43:32 +10:00
tables.c Remove #define NEED_EVENTS and NEED_REPLIES 2008-12-12 11:43:32 +10:00
window.c dix: when unsetting a cursor, update the sprite immediately (#23608) 2009-09-03 08:39:27 +10:00
Xserver-dtrace.h.in Update Sun license notices to current X.Org standard form 2009-12-18 17:12:00 -08:00
Xserver.d Update Sun license notices to current X.Org standard form 2009-12-18 17:12:00 -08:00