From: Lennart Poettering Date: Wed, 9 Aug 2017 10:46:09 +0000 (+0200) Subject: mkdir: chmod_and_chown() returns errors as "return -errno", not in errno itself X-Git-Tag: v235~237^2~5 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=8f2c2f20b6383d7528ad86a26780b36f2a02e2d3;p=thirdparty%2Fsystemd.git mkdir: chmod_and_chown() returns errors as "return -errno", not in errno itself --- diff --git a/src/basic/mkdir.c b/src/basic/mkdir.c index 6b1a98402ce..7db09fc6a1e 100644 --- a/src/basic/mkdir.c +++ b/src/basic/mkdir.c @@ -31,10 +31,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;