X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;ds=sidebyside;f=src%2Flibudev%2Flibudev-enumerate.c;h=bc1e37d3413bc1decd74c833a23fe98b82339418;hb=756c9a2499ca377b9e96ea6fc6911ff64040174e;hp=385829d464345bf96705c358e9f26152f725f96d;hpb=f9e84da678cc28998fb04bf5ba326d91fc2850fa;p=elogind.git 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; }