diff options
Diffstat (limited to 'source3/smbd')
-rw-r--r-- | source3/smbd/filename_util.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/source3/smbd/filename_util.c b/source3/smbd/filename_util.c index 1a7af714de..867709a373 100644 --- a/source3/smbd/filename_util.c +++ b/source3/smbd/filename_util.c @@ -29,6 +29,9 @@ NTSTATUS get_full_smb_filename(TALLOC_CTX *ctx, char **full_name) { if (smb_fname->stream_name) { + /* stream_name must always be NULL if there is no stream. */ + SMB_ASSERT(smb_fname->stream_name[0] != '\0'); + *full_name = talloc_asprintf(ctx, "%s%s", smb_fname->base_name, smb_fname->stream_name); } else { @@ -134,6 +137,10 @@ 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); if (*smb_fname_out == NULL) { @@ -174,6 +181,11 @@ NTSTATUS copy_smb_filename(TALLOC_CTX *ctx, ***************************************************************************/ bool is_ntfs_stream_smb_fname(const struct smb_filename *smb_fname) { + /* stream_name must always be NULL if there is no stream. */ + if (smb_fname->stream_name) { + SMB_ASSERT(smb_fname->stream_name[0] != '\0'); + } + if (lp_posix_pathnames()) { return false; } |