From: Yu Watanabe Date: Tue, 12 Mar 2019 03:20:13 +0000 (+0900) Subject: udev: fix memleak in 'udevadm trigger --settle' X-Git-Tag: v242-rc1~164 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=1f682e243fa0863c9f4f89adf89032ae37e8205e;p=thirdparty%2Fsystemd.git udev: fix memleak in 'udevadm trigger --settle' Fixes #11966. --- diff --git a/src/udev/udevadm-trigger.c b/src/udev/udevadm-trigger.c index b5e5f091ca0..b7dafb77557 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))