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:
committed by
Jeremy Allison
parent
68d20326db
commit
e4d8dc7943
@ -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);
|
||||
|
Reference in New Issue
Block a user