diff options
-rw-r--r-- | source3/smbd/posix_acls.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/source3/smbd/posix_acls.c b/source3/smbd/posix_acls.c index 7ea6e39fcb..e9b581efe8 100644 --- a/source3/smbd/posix_acls.c +++ b/source3/smbd/posix_acls.c @@ -4209,10 +4209,14 @@ bool set_unix_posix_default_acl(connection_struct *conn, const char *fname, SMB_ { SMB_ACL_T def_acl = NULL; - if (num_def_acls && !S_ISDIR(psbuf->st_mode)) { - DEBUG(5,("set_unix_posix_default_acl: Can't set default ACL on non-directory file %s\n", fname )); - errno = EISDIR; - return False; + if (!S_ISDIR(psbuf->st_mode)) { + if (num_def_acls) { + DEBUG(5,("set_unix_posix_default_acl: Can't set default ACL on non-directory file %s\n", fname )); + errno = EISDIR; + return False; + } else { + return True; + } } if (!num_def_acls) { |