Author: pschweitzer
Date: Sun Feb 26 14:06:50 2017
New Revision: 73925
URL:
http://svn.reactos.org/svn/reactos?rev=73925&view=rev
Log:
[KERNEL32]
Fix handling of trailing backslash.
Patch by Thomas Faber.
ROSTESTS-135
Modified:
trunk/reactos/dll/win32/kernel32/client/file/create.c
Modified: trunk/reactos/dll/win32/kernel32/client/file/create.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/client/…
==============================================================================
--- trunk/reactos/dll/win32/kernel32/client/file/create.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/kernel32/client/file/create.c [iso-8859-1] Sun Feb 26 14:06:50
2017
@@ -104,6 +104,7 @@
ULONG FileAttributes, Flags = 0;
PVOID EaBuffer = NULL;
ULONG EaLength = 0;
+ BOOLEAN TrailingBackslash;
if (!lpFileName || !lpFileName[0])
{
@@ -220,6 +221,13 @@
}
TRACE("NtPathU \'%wZ\'\n", &NtPathU);
+
+ TrailingBackslash = FALSE;
+ if (NtPathU.Length >= sizeof(WCHAR) &&
+ NtPathU.Buffer[NtPathU.Length / sizeof(WCHAR) - 1])
+ {
+ TrailingBackslash = TRUE;
+ }
if (hTemplateFile != NULL)
{
@@ -350,6 +358,11 @@
{
SetLastError( ERROR_FILE_EXISTS );
}
+ else if (Status == STATUS_FILE_IS_A_DIRECTORY &&
+ TrailingBackslash)
+ {
+ SetLastError(ERROR_PATH_NOT_FOUND);
+ }
else
{
BaseSetLastNTError (Status);