From 5388773d4baf902d8dd70d046cacc5a15fa790d7 Mon Sep 17 00:00:00 2001 From: Christian Ambach Date: Tue, 8 Jan 2013 17:07:09 +0100 Subject: [PATCH] s3:modules use vfs_gpfs_getacl in gpfsacl_set_nt_acl_internal as preparation to remove gpfs_getacl_alloc() Signed-off-by: Christian Ambach Reviewed-by: Andrew Bartlett --- source3/modules/vfs_gpfs.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/source3/modules/vfs_gpfs.c b/source3/modules/vfs_gpfs.c index 8417a6c153d..b017c661d47 100644 --- a/source3/modules/vfs_gpfs.c +++ b/source3/modules/vfs_gpfs.c @@ -600,16 +600,19 @@ static NTSTATUS gpfsacl_set_nt_acl_internal(files_struct *fsp, uint32 security_i struct gpfs_acl *acl; NTSTATUS result = NT_STATUS_ACCESS_DENIED; - acl = gpfs_getacl_alloc(fsp->fsp_name->base_name, 0); - if (acl == NULL) - return result; + acl = (struct gpfs_acl*) vfs_gpfs_getacl(talloc_tos(), + fsp->fsp_name->base_name, + false, 0); + if (acl == NULL) { + return map_nt_error_from_unix(errno); + } - if (acl->acl_version&GPFS_ACL_VERSION_NFS4) - { + if (acl->acl_version == GPFS_ACL_VERSION_NFS4) { if (lp_parm_bool(fsp->conn->params->service, "gpfs", "refuse_dacl_protected", false) && (psd->type&SEC_DESC_DACL_PROTECTED)) { DEBUG(2, ("Rejecting unsupported ACL with DACL_PROTECTED bit set\n")); + talloc_free(acl); return NT_STATUS_NOT_SUPPORTED; } @@ -620,6 +623,7 @@ static NTSTATUS gpfsacl_set_nt_acl_internal(files_struct *fsp, uint32 security_i result = set_nt_acl(fsp, security_info_sent, psd); } + talloc_free(acl); return result; } -- 2.45.1