diff options
author | Tim Prouty <tprouty@samba.org> | 2009-07-20 14:32:32 -0700 |
---|---|---|
committer | Tim Prouty <tprouty@samba.org> | 2009-07-20 17:26:57 -0700 |
commit | 8e04c69e027260e7e1f0a4cf3e58e31ed4084d8b (patch) | |
tree | d8b6e7c3f419aa37dc48774a32bd3ffc34904fab | |
parent | f4530f6d2a0688e350c3c7be23f256ebceffa636 (diff) | |
download | samba-8e04c69e027260e7e1f0a4cf3e58e31ed4084d8b.tar.gz samba-8e04c69e027260e7e1f0a4cf3e58e31ed4084d8b.tar.bz2 samba-8e04c69e027260e7e1f0a4cf3e58e31ed4084d8b.zip |
s3: Add some asserts to the filename util functions
In the smb_filename struct stream_name must equal NULL if there
is no stream name. These asserts should catch any future offenders
of this invariant early.
-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; } |