From: Dmitry Timoshkov Subject: Re: [PATCH] kernel32: CreateDirectory shouldn't return ERROR_ACCESS_DENIED for the root of the drive. Message-Id: <20181211201105.76ef4080e7f8efe0f2fa7289@baikal.ru> Date: Tue, 11 Dec 2018 20:11:05 +0300 In-Reply-To: <87sgz4dvei.fsf@winehq.org> References: <20181211130332.df4244c0451dcacab0fe4803@baikal.ru> <87sgz4dvei.fsf@winehq.org> Alexandre Julliard 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.