mirror of
https://github.com/Dasharo/systemd.git
synced 2026-03-06 15:02:31 -08:00
basic/mkdir: simplify error handling
If we created the dir successfully, we let chmod_and_chown_at() do its thing
and shouldn't go into the part where we check if the existing directory has the
right permissions and ownership and possibly adjust them. The code was doing
that, by relying on the fact that chmod_and_chown_at() does not return -EEXIST.
That's probably true, but seems unnecessarilly complicated.
Follow-up for c1b1492a94.
This commit is contained in:
@@ -33,11 +33,8 @@ int mkdirat_safe_internal(
|
||||
assert(_mkdirat && _mkdirat != mkdirat);
|
||||
|
||||
r = _mkdirat(dir_fd, path, mode);
|
||||
if (r >= 0) {
|
||||
r = chmod_and_chown_at(dir_fd, path, mode, uid, gid);
|
||||
if (r < 0)
|
||||
return r;
|
||||
}
|
||||
if (r >= 0)
|
||||
return chmod_and_chown_at(dir_fd, path, mode, uid, gid);
|
||||
if (r != -EEXIST)
|
||||
return r;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user