1
0
mirror of https://github.com/samba-team/samba.git synced 2025-08-03 04:22:09 +03:00

vfs: Avoid a talloc in vfswrap_parent_pathname()

We copy smb_fname_in->base_name just to overwrite it again
immediately. Expand synthetic_smb_fname() here.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
This commit is contained in:
Volker Lendecke
2022-09-09 13:43:54 +02:00
committed by Jeremy Allison
parent 68d20326db
commit e4d8dc7943

View File

@ -1454,18 +1454,17 @@ static NTSTATUS vfswrap_parent_pathname(struct vfs_handle_struct *handle,
return NT_STATUS_OK;
}
name = cp_smb_filename(frame, smb_fname_in);
name = synthetic_smb_fname(
frame,
p,
smb_fname_in->stream_name,
&smb_fname_in->st,
smb_fname_in->twrp,
smb_fname_in->flags);
if (name == NULL) {
TALLOC_FREE(frame);
return NT_STATUS_NO_MEMORY;
}
TALLOC_FREE(name->base_name);
name->base_name = talloc_strdup(name, p);
if (name->base_name == NULL) {
TALLOC_FREE(frame);
return NT_STATUS_NO_MEMORY;
}
*parent_dir_out = talloc_move(mem_ctx, &parent);
*atname_out = talloc_move(*parent_dir_out, &name);