summaryrefslogtreecommitdiff
path: root/source3/smbd/mangle_hash.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2009-12-17 16:14:30 -0800
committerJeremy Allison <jra@samba.org>2009-12-17 16:14:30 -0800
commit159c1b860aa4d61acf765c849c63e3bee9f57ad3 (patch)
tree7251b5eb46ae73e358b30a10937b16efc741f847 /source3/smbd/mangle_hash.c
parentbbec305135cae9cb6ad95d2de1617e93b18d5659 (diff)
downloadsamba-159c1b860aa4d61acf765c849c63e3bee9f57ad3.tar.gz
Fix bug #6939 - mangling method = hash breaks long filenames.
We were returning the wrong sense of the bool. must_mangle() has to return !NT_STATUS_IS_OK, not NT_STATUS_IS_OK. Jeremy.
Diffstat (limited to 'source3/smbd/mangle_hash.c')
-rw-r--r--source3/smbd/mangle_hash.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/source3/smbd/mangle_hash.c b/source3/smbd/mangle_hash.c
index 94bb184b0f..c08bc4019a 100644
--- a/source3/smbd/mangle_hash.c
+++ b/source3/smbd/mangle_hash.c
@@ -612,7 +612,10 @@ static bool must_mangle(const char *name,
}
status = is_valid_name(name_ucs2, False, False);
TALLOC_FREE(name_ucs2);
- return NT_STATUS_IS_OK(status);
+ /* We return true if we *must* mangle, so if it's
+ * a valid name (status == OK) then we must return
+ * false. Bug #6939. */
+ return !NT_STATUS_IS_OK(status);
}
/*****************************************************************************