• Dmitry Timoshkov's avatar
    kernel32: CreateDirectory shouldn't return ERROR_ACCESS_DENIED for the root of the drive. · c26b6afa
    Dmitry Timoshkov authored
    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: 's avatarDmitry Timoshkov <dmitry@baikal.ru>
    Signed-off-by: 's avatarAlexandre Julliard <julliard@winehq.org>
    c26b6afa
directory.c 97.8 KB