summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGünter Kukkukk <linux@kukkukk.com>2009-02-05 19:48:58 -0800
committerJeremy Allison <jra@samba.org>2009-02-05 19:48:58 -0800
commit04fc826efb290ba4b1f173752efb37a4b87281f2 (patch)
tree6206f0761a49a524b69afbafee9cdaccb5345428
parentdf341bd2b83cc67e31d5b91ae39b4f4f7619ffd0 (diff)
downloadsamba-04fc826efb290ba4b1f173752efb37a4b87281f2.tar.gz
samba-04fc826efb290ba4b1f173752efb37a4b87281f2.tar.xz
samba-04fc826efb290ba4b1f173752efb37a4b87281f2.zip
Don't try and delete a default ACL from a file.
-rw-r--r--source/smbd/posix_acls.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/source/smbd/posix_acls.c b/source/smbd/posix_acls.c
index 2fd047b2d07..5f1c2d9b639 100644
--- a/source/smbd/posix_acls.c
+++ b/source/smbd/posix_acls.c
@@ -3958,10 +3958,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) {