mirror of
https://github.com/samba-team/samba.git
synced 2025-08-26 01:49:31 +03:00
lib/util: do an early return on error directory_create_or_exist()
metze
This commit is contained in:
@ -150,22 +150,22 @@ _PUBLIC_ bool directory_create_or_exist(const char *dname, uid_t uid,
|
||||
|
||||
old_umask = umask(0);
|
||||
if (lstat(dname, &st) == -1) {
|
||||
if (errno == ENOENT) {
|
||||
/* Create directory */
|
||||
if (mkdir(dname, dir_perms) == -1) {
|
||||
DEBUG(0, ("mkdir failed on directory "
|
||||
"%s: %s\n", dname,
|
||||
strerror(errno)));
|
||||
umask(old_umask);
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
if (errno != ENOENT) {
|
||||
DEBUG(0, ("lstat failed on directory %s: %s\n",
|
||||
dname, strerror(errno)));
|
||||
umask(old_umask);
|
||||
return false;
|
||||
}
|
||||
|
||||
/* Create directory */
|
||||
if (mkdir(dname, dir_perms) == -1) {
|
||||
DEBUG(0, ("mkdir failed on directory "
|
||||
"%s: %s\n", dname,
|
||||
strerror(errno)));
|
||||
umask(old_umask);
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user