Module: wine Branch: master Commit: 71581f71d5b1155b056a8d815fe0036479dd54fd URL: http://source.winehq.org/git/wine.git/?a=commit;h=71581f71d5b1155b056a8d815f...
Author: Sebastian Lackner sebastian@fds-team.de Date: Wed Nov 11 01:21:55 2015 +0100
kernel32: DeleteFile should open the file without read/write permissions.
Signed-off-by: Sebastian Lackner sebastian@fds-team.de Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/kernel32/file.c | 3 +-- dlls/kernel32/tests/file.c | 2 -- 2 files changed, 1 insertion(+), 4 deletions(-)
diff --git a/dlls/kernel32/file.c b/dlls/kernel32/file.c index 40fbd40..b6dba6a 100644 --- a/dlls/kernel32/file.c +++ b/dlls/kernel32/file.c @@ -1683,8 +1683,7 @@ BOOL WINAPI DeleteFileW( LPCWSTR path ) attr.SecurityDescriptor = NULL; attr.SecurityQualityOfService = NULL;
- status = NtCreateFile(&hFile, GENERIC_READ | GENERIC_WRITE | SYNCHRONIZE | DELETE, - &attr, &io, NULL, 0, + status = NtCreateFile(&hFile, SYNCHRONIZE | DELETE, &attr, &io, NULL, 0, FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, FILE_OPEN, FILE_DELETE_ON_CLOSE | FILE_NON_DIRECTORY_FILE, NULL, 0); if (status == STATUS_SUCCESS) status = NtClose(hFile); diff --git a/dlls/kernel32/tests/file.c b/dlls/kernel32/tests/file.c index 91abb03..4ad1da8 100644 --- a/dlls/kernel32/tests/file.c +++ b/dlls/kernel32/tests/file.c @@ -1794,14 +1794,12 @@ static void test_DeleteFileA( void )
SetLastError(0xdeadbeef); ret = DeleteFileA(temp_file); -todo_wine ok(ret, "DeleteFile error %d\n", GetLastError());
SetLastError(0xdeadbeef); ret = CloseHandle(hfile); ok(ret, "CloseHandle error %d\n", GetLastError()); ret = DeleteFileA(temp_file); -todo_wine ok(!ret, "DeleteFile should fail\n");
SetLastError(0xdeadbeef);