diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2009-08-28 08:16:36 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2009-08-28 08:18:35 +1000 |
commit | 7dacfde39a027bb868493ba075e2f1d787c9b191 (patch) | |
tree | c86772d55f2f4ca991e967b5c140ead011463288 | |
parent | 7d203627e7e3e7a6f8d0e847ed650b0b89760c09 (diff) |
Fix module unloading.
After calling xfree(priv), local->private must be set NULL.
Otherwise the server tries to free it again during xf86DeleteInput.
local->name must not be freed, it is set to XI_TOUCHSCREEN during PreInit.
local must not be freed, we pass it into xf86DeleteInput.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-rw-r--r-- | src/xf86Fpit.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/xf86Fpit.c b/src/xf86Fpit.c index f40c6a9..ce7540b 100644 --- a/src/xf86Fpit.c +++ b/src/xf86Fpit.c @@ -589,8 +589,7 @@ static void xf86FpitUninit(InputDriverPtr drv, LocalDevicePtr local, int flags) xf86FpitControl(local->dev, DEVICE_OFF); xfree(priv->fpitDev); xfree(priv); - xfree(local->name); - xfree(local); + local->private = NULL; xf86DeleteInput(local, 0); } |