[PATCH] kernel32: CreateDirectory shouldn't return ERROR_ACCESS_DENIED for the root of the drive.

Dmitry Timoshkov dmitry at baikal.ru
Tue Dec 11 11:11:05 CST 2018


Alexandre Julliard <julliard at winehq.org> wrote:

> > 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.
> 
> What app is that? Does it fail on Windows when not administrator?

The application doesn't fail on Windows, and as I mentioned above under
a not administrator account and UAC enabled I don't get ERROR_ACCESS_DENIED
error with the tests included in the patch.

-- 
Dmitry.



More information about the wine-devel mailing list