]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s3:smbd: rearrange move_smb_fname_fsp_link a bit
authorStefan Metzmacher <metze@samba.org>
Thu, 17 Dec 2020 10:05:21 +0000 (11:05 +0100)
committerStefan Metzmacher <metze@samba.org>
Thu, 14 Jan 2021 11:30:38 +0000 (11:30 +0000)
We only modify smb_fname_src on success.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
source3/smbd/files.c

index e19c11883eb32ab422dacedcfc2f7dfab885bf30..bcd4a55036b9ad6dd829d21846be49ec44296347 100644 (file)
@@ -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;
 }