From de8cba13cf4d035e9bb6977d8d66ce4affedea59 Mon Sep 17 00:00:00 2001 From: Thomas Hindoe Paaboel Andersen Date: Sat, 31 Mar 2018 22:40:19 +0200 Subject: [PATCH] hidraw: use cleanup for udev enumerate --- src/libratbag-hidraw.c | 7 ++----- src/shared-macro.h | 1 + 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/libratbag-hidraw.c b/src/libratbag-hidraw.c index 75fff923..2059d371 100644 --- a/src/libratbag-hidraw.c +++ b/src/libratbag-hidraw.c @@ -1375,7 +1375,7 @@ ratbag_find_hidraw_node(struct ratbag_device *device, int use_usb_parent) { struct ratbag *ratbag = device->ratbag; - struct udev_enumerate *e; + _cleanup_(udev_enumerate_unrefp) struct udev_enumerate *e = NULL; struct udev_list_entry *entry; const char *path; struct udev_device *hid_udev; @@ -1421,15 +1421,12 @@ ratbag_find_hidraw_node(struct ratbag_device *device, matched = match(device); rc = matched ? 0 : -ENODEV; if (matched == 1) - goto out; + return rc; skip: ratbag_close_hidraw(device); } -out: - udev_enumerate_unref(e); - return rc; } diff --git a/src/shared-macro.h b/src/shared-macro.h index 33153589..9f9dba28 100644 --- a/src/shared-macro.h +++ b/src/shared-macro.h @@ -135,6 +135,7 @@ static inline void reset_errno(int *saved_errno) DEFINE_TRIVIAL_CLEANUP_FUNC(struct udev*, udev_unref); DEFINE_TRIVIAL_CLEANUP_FUNC(struct udev_device*, udev_device_unref); +DEFINE_TRIVIAL_CLEANUP_FUNC(struct udev_enumerate*, udev_enumerate_unref); /* * ELEMENTSOF() - number of array elements