diff options
author | Kay Sievers <kay@vrfy.org> | 2013-09-04 17:59:14 +0200 |
---|---|---|
committer | Kay Sievers <kay@vrfy.org> | 2013-09-04 17:59:14 +0200 |
commit | 756c9a2499ca377b9e96ea6fc6911ff64040174e (patch) | |
tree | dc2c29d08d919adffe4d713c3ccb3781aa8aa42e /src/libudev | |
parent | f9e84da678cc28998fb04bf5ba326d91fc2850fa (diff) |
libudev: enumerate - do not try to match against an empty subsystem
Diffstat (limited to 'src/libudev')
-rw-r--r-- | src/libudev/libudev-enumerate.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/libudev/libudev-enumerate.c b/src/libudev/libudev-enumerate.c index 385829d464..bc1e37d341 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; } |