[PATCH weston 08/10] evdev: plug a potential memleak

Peter Hutterer peter.hutterer at who-t.net
Tue Aug 6 18:04:47 PDT 2013


For touchpads, device->dispatch is set up when exiting
evdev_handle_device() and a potential source for a memleak.
This can't actually happen at the moment, as evdev_handle_device() won't
fail for touchpads after setting up the dispatch but prevent this from
happening in the future.
---
 src/evdev.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/evdev.c b/src/evdev.c
index 7462e83..bd3b025 100644
--- a/src/evdev.c
+++ b/src/evdev.c
@@ -590,6 +590,8 @@ evdev_device_create(struct weston_seat *seat, const char *path, int device_fd)
 	device->devname = strdup(devname);
 
 	if (!evdev_handle_device(device)) {
+		if (device->dispatch)
+			device->dispatch->interface->destroy(dispatch);
 		if (device->mtdev)
 			mtdev_close_delete(device->mtdev);
 		free(device->devnode);
-- 
1.8.2.1



More information about the wayland-devel mailing list