From 00da7a4e5767c8b8be3391ba7cf7412fb820aa24 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Thu, 17 Dec 2009 16:21:46 -0800 Subject: [PATCH] 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 files changed, 4 insertions(+), 1 deletions(-) diff --git a/source3/smbd/mangle_hash.c b/source3/smbd/mangle_hash.c index 96fe4d2..b582d19 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); SAFE_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); } /***************************************************************************** -- 1.5.4.3