diff options
author | Lennart Poettering <lennart@poettering.net> | 2017-08-09 12:46:09 +0200 |
---|---|---|
committer | Sven Eden <yamakuzure@gmx.net> | 2017-08-29 16:57:55 +0200 |
commit | c216c41251f648d0fecd5a8e6baa061ad3f1ce36 (patch) | |
tree | 7e61ecec0026079064504ec012788cafcebfb2d2 /src | |
parent | 63e7758940d27499845c3e45b61e39c47efdc8c3 (diff) |
mkdir: chmod_and_chown() returns errors as "return -errno", not in errno itself
Diffstat (limited to 'src')
-rw-r--r-- | src/basic/mkdir.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/basic/mkdir.c b/src/basic/mkdir.c index db1e83291..867219e4b 100644 --- a/src/basic/mkdir.c +++ b/src/basic/mkdir.c @@ -34,10 +34,13 @@ int mkdir_safe_internal(const char *path, mode_t mode, uid_t uid, gid_t gid, mkdir_func_t _mkdir) { struct stat st; + int r; - if (_mkdir(path, mode) >= 0) - if (chmod_and_chown(path, mode, uid, gid) < 0) - return -errno; + if (_mkdir(path, mode) >= 0) { + r = chmod_and_chown(path, mode, uid, gid); + if (r < 0) + return r; + } if (lstat(path, &st) < 0) return -errno; |