summaryrefslogtreecommitdiff
path: root/src/basic/mkdir.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2022-08-22 14:49:17 +0200
committerLennart Poettering <lennart@poettering.net>2022-08-23 15:10:15 +0200
commit15e2182fb32a652a6f22d50b14bba4b1976dea8a (patch)
tree76542c919359bf2565e0f9f411c0f0efb0b0283e /src/basic/mkdir.c
parentc06103be6415b63751039ebe1246575f45d00eb1 (diff)
downloadsystemd-15e2182fb32a652a6f22d50b14bba4b1976dea8a.tar.gz
mkdir: don't allow us to get confused by symlinks in mkdir_p_root()'s chowning logic
Diffstat (limited to 'src/basic/mkdir.c')
-rw-r--r--src/basic/mkdir.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/basic/mkdir.c b/src/basic/mkdir.c
index 8e4849b792..cd966cba94 100644
--- a/src/basic/mkdir.c
+++ b/src/basic/mkdir.c
@@ -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;