]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
mkdir: don't allow us to get confused by symlinks in mkdir_p_root()'s chowning logic
authorLennart Poettering <lennart@poettering.net>
Mon, 22 Aug 2022 12:49:17 +0000 (14:49 +0200)
committerLennart Poettering <lennart@poettering.net>
Tue, 23 Aug 2022 13:10:15 +0000 (15:10 +0200)
src/basic/mkdir.c

index 8e4849b7926c07504d3e8140c05f13a4cced6a9e..cd966cba9420662f2db007aab7d48326d5d0aa3d 100644 (file)
@@ -233,7 +233,7 @@ int mkdir_p_root(const char *root, const char *p, uid_t uid, gid_t gid, mode_t m
         if (uid_is_valid(uid) || gid_is_valid(gid)) {
                 _cleanup_close_ int nfd = -1;
 
-                nfd = openat(dfd, bn, O_RDONLY|O_CLOEXEC|O_DIRECTORY);
+                nfd = openat(dfd, bn, O_RDONLY|O_CLOEXEC|O_DIRECTORY|O_NOFOLLOW);
                 if (nfd < 0)
                         return -errno;