diff options
author | Lennart Poettering <lennart@poettering.net> | 2021-11-12 14:49:49 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2021-11-16 17:01:54 +0100 |
commit | 1e146d738232acbe7f72903e9c5e4d1166ea67f5 (patch) | |
tree | 46139960175abade3924d8c29a43250abf0a89b6 | |
parent | c7e715096f04fcb1b88e844b7eed52f3e41b9f8b (diff) | |
download | systemd-1e146d738232acbe7f72903e9c5e4d1166ea67f5.tar.gz |
mkdir: use chase_symlinks_and_stat() where appropriate
-rw-r--r-- | src/basic/mkdir.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/src/basic/mkdir.c b/src/basic/mkdir.c index 7aaaae0f0d..431f5d2306 100644 --- a/src/basic/mkdir.c +++ b/src/basic/mkdir.c @@ -42,16 +42,13 @@ int mkdir_safe_internal( if ((flags & MKDIR_FOLLOW_SYMLINK) && S_ISLNK(st.st_mode)) { _cleanup_free_ char *p = NULL; - r = chase_symlinks(path, NULL, CHASE_NONEXISTENT, &p, NULL); + r = chase_symlinks_and_stat(path, NULL, CHASE_NONEXISTENT, &p, &st, NULL); if (r < 0) return r; if (r == 0) return mkdir_safe_internal(p, mode, uid, gid, flags & ~MKDIR_FOLLOW_SYMLINK, _mkdir); - - if (lstat(p, &st) < 0) - return -errno; } if (!S_ISDIR(st.st_mode)) |