mirror of
https://github.com/samba-team/samba.git
synced 2025-01-27 14:04:05 +03:00
s3: smbd: Fix delete-on-close after smb2_find
Both dptr_create() and can_delete_directory_fsp() are calling OpenDir_fsp() to get a directory handle. This causes an issue when delete-on-close is set after smb2_find because both directory handle instances share the same underlying file descriptor. In addition the SMB_ASSERT() in destructor smb_Dir_destructor() gets triggered. To avoid this use OpenDir() instead of OpenDir_fsp(). BUG: https://bugzilla.samba.org/show_bug.cgi?id=13118 Signed-off-by: Ralph Wuerthner <ralph.wuerthner@de.ibm.com> Reviewed-by: Jeremy Allison <jra@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org>
This commit is contained in:
parent
3bb854ce90
commit
c9e996d78d
@ -2128,9 +2128,9 @@ NTSTATUS can_delete_directory_fsp(files_struct *fsp)
|
||||
char *talloced = NULL;
|
||||
SMB_STRUCT_STAT st;
|
||||
struct connection_struct *conn = fsp->conn;
|
||||
struct smb_Dir *dir_hnd = OpenDir_fsp(talloc_tos(),
|
||||
struct smb_Dir *dir_hnd = OpenDir(talloc_tos(),
|
||||
conn,
|
||||
fsp,
|
||||
fsp->fsp_name,
|
||||
NULL,
|
||||
0);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user