[3/3] kernel32: DeleteFile should open the file without read/write permissions.
Sebastian Lackner
sebastian at fds-team.de
Tue Nov 10 18:21:55 CST 2015
Signed-off-by: Sebastian Lackner <sebastian at fds-team.de>
---
This patch also has been tested in the Staging tree for some time.
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);
--
2.6.2
More information about the wine-patches
mailing list