summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/smbd/open.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/source3/smbd/open.c b/source3/smbd/open.c
index 9dc8320b68..120de0f21a 100644
--- a/source3/smbd/open.c
+++ b/source3/smbd/open.c
@@ -102,8 +102,6 @@ NTSTATUS smbd_check_open_rights(struct connection_struct *conn,
access_mask,
access_granted);
- TALLOC_FREE(sd);
-
DEBUG(10,("smbd_check_open_rights: file %s requesting "
"0x%x returning 0x%x (%s)\n",
smb_fname_str_dbg(smb_fname),
@@ -111,6 +109,16 @@ NTSTATUS smbd_check_open_rights(struct connection_struct *conn,
(unsigned int)*access_granted,
nt_errstr(status) ));
+ if (!NT_STATUS_IS_OK(status)) {
+ if (DEBUGLEVEL >= 10) {
+ DEBUG(10,("smbd_check_open_rights: acl for %s is:\n",
+ smb_fname_str_dbg(smb_fname) ));
+ NDR_PRINT_DEBUG(security_descriptor, sd);
+ }
+ }
+
+ TALLOC_FREE(sd);
+
return status;
}