From: Stefan Metzmacher Date: Thu, 17 Dec 2020 10:05:21 +0000 (+0100) Subject: s3:smbd: rearrange move_smb_fname_fsp_link a bit X-Git-Tag: samba-4.14.0rc1~78 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3fdfb79a12bf21eb661a8dea00f46bf944ea9df0;p=thirdparty%2Fsamba.git s3:smbd: rearrange move_smb_fname_fsp_link a bit We only modify smb_fname_src on success. Signed-off-by: Stefan Metzmacher Reviewed-by: Volker Lendecke Reviewed-by: Ralph Boehme --- diff --git a/source3/smbd/files.c b/source3/smbd/files.c index e19c11883eb..bcd4a55036b 100644 --- a/source3/smbd/files.c +++ b/source3/smbd/files.c @@ -586,9 +586,6 @@ NTSTATUS move_smb_fname_fsp_link(struct smb_filename *smb_fname_dst, } smb_fname_dst->fsp = smb_fname_src->fsp; - talloc_set_destructor(smb_fname_dst, smb_fname_fsp_destructor); - - smb_fname_fsp_unlink(smb_fname_src); status = fsp_smb_fname_link(smb_fname_dst->fsp, &smb_fname_dst->fsp_link, @@ -597,6 +594,10 @@ NTSTATUS move_smb_fname_fsp_link(struct smb_filename *smb_fname_dst, return status; } + talloc_set_destructor(smb_fname_dst, smb_fname_fsp_destructor); + + smb_fname_fsp_unlink(smb_fname_src); + return NT_STATUS_OK; }