chiark / gitweb /
systemd: do not remove empty paths from unit lookup path
[elogind.git] / src / shared / path-util.c
index dd12d3d63409654fb446028ba92a0860bc83e4c1..4857971b33002f29b496f6292a380d742c069b28 100644 (file)
@@ -190,13 +190,17 @@ char **path_strv_canonicalize(char **l) {
 
                 errno = 0;
                 u = canonicalize_file_name(t);
-                free(t);
 
                 if (!u) {
-                        if (errno == ENOMEM || !errno)
-                                enomem = true;
-
-                        continue;
+                        if (errno == ENOENT)
+                                u = t;
+                        else {
+                                free(t);
+                                if (errno == ENOMEM || !errno)
+                                        enomem = true;
+
+                                continue;
+                        }
                 }
 
                 l[k++] = u;