From 1f682e243fa0863c9f4f89adf89032ae37e8205e Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Tue, 12 Mar 2019 12:20:13 +0900 Subject: [PATCH] udev: fix memleak in 'udevadm trigger --settle' Fixes #11966. --- src/udev/udevadm-trigger.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/udev/udevadm-trigger.c b/src/udev/udevadm-trigger.c index b5e5f09..b7dafb7 100644 --- a/src/udev/udevadm-trigger.c +++ b/src/udev/udevadm-trigger.c @@ -60,6 +60,7 @@ static int exec_list(sd_device_enumerator *e, const char *action, Set *settle_se } static int device_monitor_handler(sd_device_monitor *m, sd_device *dev, void *userdata) { + _cleanup_free_ char *val = NULL; Set *settle_set = userdata; const char *syspath; @@ -72,7 +73,8 @@ static int device_monitor_handler(sd_device_monitor *m, sd_device *dev, void *us if (arg_verbose) printf("settle %s\n", syspath); - if (!set_remove(settle_set, syspath)) + val = set_remove(settle_set, syspath); + if (!val) log_debug("Got epoll event on syspath %s not present in syspath set", syspath); if (set_isempty(settle_set)) -- 2.7.4