From 159c1b860aa4d61acf765c849c63e3bee9f57ad3 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Thu, 17 Dec 2009 16:14:30 -0800 Subject: 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. --- source3/smbd/mangle_hash.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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); } /***************************************************************************** -- cgit