Commit Graph

9 Commits

Author SHA1 Message Date
Dmitry Timoshkov c26b6afad3 kernel32: CreateDirectory shouldn't return ERROR_ACCESS_DENIED for the root of the drive.
According to the testbot results CreateDirectory("C:\\", NULL) fails
with ERROR_ACCESS_DENIED for not administrators. However with UAC enabled
and not and administrator account I get ERROR_ALREADY_EXISTS in that case
with Windows 7 64-bit running on real hardware. Moreover, Wine doesn't
really perform any access checks in that case and blindly assumes that
returning STATUS_ACCESS_DENIED is correct behaviour for the drive's root:
dlls/ntdll/directory.c,lookup_unix_name().

This patch fixes an application that can't find its data files because
after it receives ERROR_ACCESS_DENIED it stops further directory traversing.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-28 17:42:23 +01:00
Michael Müller 6f2f307b1d ntdll: Open current working directory with FILE_TRAVERSE access.
Signed-off-by: Michael Müller <michael@fds-team.de>
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-22 12:44:35 +09:00
Jactry Zeng 846155f153 kernel32/tests: Reset current directory of current process.
Signed-off-by: Jactry Zeng <jzeng@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-01 01:50:13 +09:00
Austin English 4e3c3ad593 kernel32/tests: Make sure to use return values (LLVM/Clang). 2011-02-09 09:28:21 -06:00
Andrew Nguyen 4f7f110c5e kernel32/tests: Correctly skip tests when the Unicode directory functions are not available. 2009-05-18 14:31:06 +02:00
Alexandre Julliard 5d0f3aa33b kernel32/tests: Add another error code in the CreateDirectory test. 2009-02-03 22:23:19 +01:00
Alexandre Julliard e8d36ff9a1 kernel32/tests: Print some more details on directory test failures. 2009-02-03 15:01:41 +01:00
Michael Stefaniuc 8218440c20 kernel32/tests: Win64 printf format warning fixes. 2006-10-10 16:11:27 +02:00
Alexandre Julliard 489d87d1e5 kernel32: Renamed the kernel directory to kernel32.
Also get rid of the kernel/messages subdirectory.
2006-09-12 13:34:06 +02:00