Fix logic bug where high bits tests was being
authorJeremy Allison <jra@samba.org>
Sat, 21 Nov 2009 01:23:20 +0000 (17:23 -0800)
committerJeremy Allison <jra@samba.org>
Sat, 21 Nov 2009 01:23:20 +0000 (17:23 -0800)
done on both Windows and POSIX mkdirs instead of
only on Windows mkdir (as intended). The variable
"file_attributes" had already had FILE_FLAG_POSIX_SEMANTICS
removed above in the function if it had already been set.
Jeremy.

source3/smbd/open.c

index 1f48daf9048cd2a257657822735f1358dc27f1ad..98984b86951a8c4df6e70a7dc9ea1cd7b3100191 100644 (file)
@@ -2383,7 +2383,7 @@ static NTSTATUS mkdir_internal(connection_struct *conn,
                                         smb_dname->base_name, mode);
        }
 
-       if (!(file_attributes & FILE_FLAG_POSIX_SEMANTICS)) {
+       if (!posix_open) {
                /*
                 * Check if high bits should have been set,
                 * then (if bits are missing): add them.