From 756c9a2499ca377b9e96ea6fc6911ff64040174e Mon Sep 17 00:00:00 2001 From: Kay Sievers Date: Wed, 4 Sep 2013 17:59:14 +0200 Subject: [PATCH] libudev: enumerate - do not try to match against an empty subsystem --- src/libudev/libudev-enumerate.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/libudev/libudev-enumerate.c b/src/libudev/libudev-enumerate.c index 385829d46..bc1e37d34 100644 --- a/src/libudev/libudev-enumerate.c +++ b/src/libudev/libudev-enumerate.c @@ -721,12 +721,14 @@ static bool match_subsystem(struct udev_enumerate *udev_enumerate, const char *s { struct udev_list_entry *list_entry; - subsystem = subsystem ? : ""; + if (!subsystem) + return false; udev_list_entry_foreach(list_entry, udev_list_get_entry(&udev_enumerate->subsystem_nomatch_list)) { if (fnmatch(udev_list_entry_get_name(list_entry), subsystem, 0) == 0) return false; } + if (udev_list_get_entry(&udev_enumerate->subsystem_match_list) != NULL) { udev_list_entry_foreach(list_entry, udev_list_get_entry(&udev_enumerate->subsystem_match_list)) { if (fnmatch(udev_list_entry_get_name(list_entry), subsystem, 0) == 0) @@ -734,6 +736,7 @@ static bool match_subsystem(struct udev_enumerate *udev_enumerate, const char *s } return false; } + return true; } -- 2.30.2