From 1605f71a0bd31f1e719a537bbccb8135d9700aa4 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Wed, 20 Jun 2018 09:54:25 +1000 Subject: [PATCH] tools: list-devices: unref the udev device Fixes a memory leak that prevents us from running list-devices in valgrind. Signed-off-by: Peter Hutterer --- tools/libinput-list-devices.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/tools/libinput-list-devices.c b/tools/libinput-list-devices.c index 4cbdf775a..5fa178854 100644 --- a/tools/libinput-list-devices.c +++ b/tools/libinput-list-devices.c @@ -270,6 +270,7 @@ print_device_notify(struct libinput_event *ev) struct libinput_device *dev = libinput_event_get_device(ev); struct libinput_seat *seat = libinput_device_get_seat(dev); struct libinput_device_group *group; + struct udev_device *udev_device; double w, h; static int next_group_id = 0; intptr_t group_id; @@ -283,8 +284,8 @@ print_device_notify(struct libinput_event *ev) libinput_device_group_set_user_data(group, (void*)group_id); } - devnode = udev_device_get_devnode( - libinput_device_get_udev_device(dev)); + udev_device = libinput_device_get_udev_device(dev); + devnode = udev_device_get_devnode(udev_device); printf("Device: %s\n" "Kernel: %s\n" @@ -296,6 +297,8 @@ print_device_notify(struct libinput_event *ev) libinput_seat_get_physical_name(seat), libinput_seat_get_logical_name(seat)); + udev_device_unref(udev_device); + if (libinput_device_get_size(dev, &w, &h) == 0) printf("Size: %.fx%.fmm\n", w, h); printf("Capabilities: ");