[systemd-devel] [PATCH] sysv-generator: only allow regular files in enumerate_sysv()

Cristian Rodríguez crrodriguez at opensuse.org
Tue Jan 13 21:51:41 PST 2015


Otherwise, if the directory contains other directories we fail
at fopen in load_sysv() with EISDIR.
---
 src/sysv-generator/sysv-generator.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/sysv-generator/sysv-generator.c b/src/sysv-generator/sysv-generator.c
index 2f24ef2..e15a16b 100644
--- a/src/sysv-generator/sysv-generator.c
+++ b/src/sysv-generator/sysv-generator.c
@@ -727,8 +727,10 @@ static int enumerate_sysv(LookupPaths lp, Hashmap *all_services) {
                         _cleanup_free_ char *fpath = NULL, *name = NULL;
                         int r;
 
-                        if (hidden_file(de->d_name))
-                                continue;
+                        dirent_ensure_type(d, de);
+
+                        if (!dirent_is_file(de))
+                            continue;
 
                         fpath = strjoin(*path, "/", de->d_name, NULL);
                         if (!fpath)
-- 
2.2.1



More information about the systemd-devel mailing list