summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/lib/filename_util.c34
1 files changed, 1 insertions, 33 deletions
diff --git a/source3/lib/filename_util.c b/source3/lib/filename_util.c
index 67fa1a98f2..90bb2b8627 100644
--- a/source3/lib/filename_util.c
+++ b/source3/lib/filename_util.c
@@ -204,43 +204,11 @@ NTSTATUS copy_smb_filename(TALLOC_CTX *ctx,
const struct smb_filename *smb_fname_in,
struct smb_filename **smb_fname_out)
{
- /* stream_name must always be NULL if there is no stream. */
- if (smb_fname_in->stream_name) {
- SMB_ASSERT(smb_fname_in->stream_name[0] != '\0');
- }
-
- *smb_fname_out = talloc_zero(ctx, struct smb_filename);
+ *smb_fname_out = cp_smb_filename(ctx, smb_fname_in);
if (*smb_fname_out == NULL) {
return NT_STATUS_NO_MEMORY;
}
-
- if (smb_fname_in->base_name) {
- (*smb_fname_out)->base_name =
- talloc_strdup(*smb_fname_out, smb_fname_in->base_name);
- if (!(*smb_fname_out)->base_name)
- goto no_mem_err;
- }
-
- if (smb_fname_in->stream_name) {
- (*smb_fname_out)->stream_name =
- talloc_strdup(*smb_fname_out, smb_fname_in->stream_name);
- if (!(*smb_fname_out)->stream_name)
- goto no_mem_err;
- }
-
- if (smb_fname_in->original_lcomp) {
- (*smb_fname_out)->original_lcomp =
- talloc_strdup(*smb_fname_out, smb_fname_in->original_lcomp);
- if (!(*smb_fname_out)->original_lcomp)
- goto no_mem_err;
- }
-
- (*smb_fname_out)->st = smb_fname_in->st;
return NT_STATUS_OK;
-
- no_mem_err:
- TALLOC_FREE(*smb_fname_out);
- return NT_STATUS_NO_MEMORY;
}
/****************************************************************************