From: Jeremy Allison Date: Fri, 12 Mar 2021 00:36:09 +0000 (-0800) Subject: VFS: fake_acls: Clean up fake_acls_sys_acl_delete_def_file(). X-Git-Tag: tevent-0.11.0~1283 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=bee6b16ce41092659e84015e22ad618c63955a48;p=thirdparty%2Fsamba.git VFS: fake_acls: Clean up fake_acls_sys_acl_delete_def_file(). Change SMB_VFS_NEXT_REMOVEXATTR() -> SMB_VFS_NEXT_FREMOVEXATTR(). It doesn't need to do STAT calls, it's always called with an fsp->fsp_name smb_filename. This will change later to a handle-based call. Signed-off-by: Jeremy Allison Reviewed-by: Ralph Boehme --- diff --git a/source3/modules/vfs_fake_acls.c b/source3/modules/vfs_fake_acls.c index 716df540e47..08e7b667149 100644 --- a/source3/modules/vfs_fake_acls.c +++ b/source3/modules/vfs_fake_acls.c @@ -385,39 +385,22 @@ static int fake_acls_sys_acl_set_fd(vfs_handle_struct *handle, } static int fake_acls_sys_acl_delete_def_file(vfs_handle_struct *handle, - const struct smb_filename *smb_fname_in) + const struct smb_filename *smb_fname) { int ret; const char *name = FAKE_ACL_DEFAULT_XATTR; - TALLOC_CTX *frame = talloc_stackframe(); - struct smb_filename *smb_fname = cp_smb_filename_nostream(talloc_tos(), - smb_fname_in); - - if (smb_fname == NULL) { - TALLOC_FREE(frame); - errno = ENOMEM; - return -1; - } - - ret = SMB_VFS_NEXT_STAT(handle, smb_fname); - if (ret == -1) { - TALLOC_FREE(frame); - return -1; - } if (!S_ISDIR(smb_fname->st.st_ex_mode)) { errno = EINVAL; - TALLOC_FREE(frame); return -1; } - ret = SMB_VFS_NEXT_REMOVEXATTR(handle, smb_fname, name); + ret = SMB_VFS_NEXT_FREMOVEXATTR(handle, smb_fname->fsp, name); if (ret == -1 && errno == ENOATTR) { ret = 0; errno = 0; } - TALLOC_FREE(frame); return ret; }