summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Prouty <tprouty@samba.org>2009-07-20 14:32:32 -0700
committerTim Prouty <tprouty@samba.org>2009-07-20 17:26:57 -0700
commit8e04c69e027260e7e1f0a4cf3e58e31ed4084d8b (patch)
treed8b6e7c3f419aa37dc48774a32bd3ffc34904fab
parentf4530f6d2a0688e350c3c7be23f256ebceffa636 (diff)
downloadsamba-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.c12
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;
}