From 7dacfde39a027bb868493ba075e2f1d787c9b191 Mon Sep 17 00:00:00 2001 From: Peter Hutterer <peter.hutterer@who-t.net> Date: Thu, 27 Aug 2009 22:16:36 +0000 Subject: 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> --- 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); } -- cgit v0.8.3-6-g21f6