mirror of
https://github.com/samba-team/samba.git
synced 2025-03-12 20:58:37 +03:00
s3: cmd_vfs: cmd_set_nt_acl(). All calls to SMB_VFS_FSTAT(fsp, &fsp->fsp_name->st) clobber fsp->fsp_name->st.st_ex_iflags.
If doing an SMB_VFS_FSTAT() returning onto the stat struct stored in the fsp, we must call vfs_stat_fsp() as this preserves the iflags. BUG: https://bugzilla.samba.org/show_bug.cgi?id=15022 Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org> (back-ported picked from commit 23d5c909286d438534f1a7defb2faacd1877fea1)
This commit is contained in:
parent
687e9cc845
commit
0671b340fb
@ -1772,18 +1772,13 @@ static NTSTATUS cmd_set_nt_acl(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int a
|
||||
}
|
||||
fsp_set_fd(fsp, fd);
|
||||
|
||||
status = NT_STATUS_OK;
|
||||
ret = SMB_VFS_FSTAT(fsp, &smb_fname->st);
|
||||
if (ret == -1) {
|
||||
status = vfs_stat_fsp(fsp);
|
||||
if (!NT_STATUS_IS_OK(status)) {
|
||||
/* If we have an fd, this stat should succeed. */
|
||||
DEBUG(0,("Error doing fstat on open file %s "
|
||||
"(%s)\n",
|
||||
smb_fname_str_dbg(smb_fname),
|
||||
strerror(errno) ));
|
||||
status = map_nt_error_from_unix(errno);
|
||||
}
|
||||
|
||||
if (!NT_STATUS_IS_OK(status)) {
|
||||
nt_errstr(status) ));
|
||||
goto out;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user