From c57b30b66ac92a5049bae328621e55be4b9e57d2 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Mon, 4 Apr 2011 10:19:18 -0700 Subject: [PATCH] s3: Fix bug 8042: File creation on OS/X With a case insensitive file system the stat cache lookup leaked the parent directorys stat information from unix_convert into the smb_filename. This led open_file_ntcreate to believe it just created a directory. In the case where we do the search we already invalidate the stat struct. Thanks to TAKAHASHI Motonobu for insisting! :-) Volker (cherry picked from commit c9015e381905bb254ee61b64d99052b96b4d4913) --- source3/smbd/filename.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/source3/smbd/filename.c b/source3/smbd/filename.c index 154d34a4c06..c92921edce6 100644 --- a/source3/smbd/filename.c +++ b/source3/smbd/filename.c @@ -352,6 +352,9 @@ NTSTATUS unix_convert(TALLOC_CTX *ctx, goto done; } + /* Stat failed - ensure we don't use it. */ + SET_STAT_INVALID(smb_fname->st); + /* * A special case - if we don't have any wildcards or mangling chars and are case * sensitive or the underlying filesystem is case insentive then searching -- 2.11.4.GIT