diff options
Diffstat (limited to 'source3')
-rw-r--r-- | source3/smbd/nttrans.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/source3/smbd/nttrans.c b/source3/smbd/nttrans.c index 1011bd7025..f5e5877d09 100644 --- a/source3/smbd/nttrans.c +++ b/source3/smbd/nttrans.c @@ -1916,12 +1916,14 @@ NTSTATUS smbd_do_query_security_desc(connection_struct *conn, if ((security_info_wanted & SECINFO_SACL) && !(fsp->access_mask & SEC_FLAG_SYSTEM_SECURITY)) { DEBUG(10, ("Access to SACL denied.\n")); + TALLOC_FREE(frame); return NT_STATUS_ACCESS_DENIED; } if ((security_info_wanted & (SECINFO_DACL|SECINFO_OWNER|SECINFO_GROUP)) && !(fsp->access_mask & SEC_STD_READ_CONTROL)) { DEBUG(10, ("Access to DACL, OWNER, or GROUP denied.\n")); + TALLOC_FREE(frame); return NT_STATUS_ACCESS_DENIED; } @@ -1942,6 +1944,7 @@ NTSTATUS smbd_do_query_security_desc(connection_struct *conn, fsp, security_info_wanted, frame, &psd); } if (!NT_STATUS_IS_OK(status)) { + TALLOC_FREE(frame); return status; } |