chiark / gitweb /
sysv-generator: only allow regular files in enumerate_sysv()
[elogind.git] / src / sysv-generator / sysv-generator.c
index 3279c7f44482ef6f0e2ead2a17b25e4de985df8f..b8b77aa035ee2e479e866ea40c983b999aa5188b 100644 (file)
@@ -752,8 +752,10 @@ static int enumerate_sysv(LookupPaths lp, Hashmap *all_services) {
                         struct stat st;
                         int r;
 
-                        if (hidden_file(de->d_name))
-                                continue;
+                        dirent_ensure_type(d, de);
+
+                        if (!dirent_is_file(de))
+                            continue;
 
                         if (fstatat(dirfd(d), de->d_name, &st, 0) < 0) {
                                 log_warning_errno(errno, "stat() failed on %s/%s: %m", *path, de->d_name);