Module: wine Branch: master Commit: fd9c9a6d03d682f241d139c8ad6158fc45e0da1e URL: http://source.winehq.org/git/wine.git/?a=commit;h=fd9c9a6d03d682f241d139c8ad...
Author: Dmitry Timoshkov dmitry@baikal.ru Date: Fri Feb 7 12:44:10 2014 +0900
kernel32: Fix page protection to access mapping performed by CreateFileMapping.
---
dlls/advapi32/tests/security.c | 2 -- dlls/kernel32/virtual.c | 8 ++++---- 2 files changed, 4 insertions(+), 6 deletions(-)
diff --git a/dlls/advapi32/tests/security.c b/dlls/advapi32/tests/security.c index ac98b49..7ee785f 100644 --- a/dlls/advapi32/tests/security.c +++ b/dlls/advapi32/tests/security.c @@ -4965,7 +4965,6 @@ static void test_filemap_security(void) }
access = get_obj_access(mapping); -todo_wine ok(access == prot_map[i].mapped, "%d: expected %#x, got %#x\n", i, prot_map[i].mapped, access);
CloseHandle(mapping); @@ -4976,7 +4975,6 @@ todo_wine ok(mapping != 0, "CreateFileMapping error %d\n", GetLastError());
access = get_obj_access(mapping); -todo_wine ok(access == (STANDARD_RIGHTS_REQUIRED | SECTION_QUERY | SECTION_MAP_READ | SECTION_MAP_WRITE | SECTION_MAP_EXECUTE), "expected STANDARD_RIGHTS_REQUIRED | SECTION_QUERY | SECTION_MAP_READ | SECTION_MAP_WRITE | SECTION_MAP_EXECUTE, got %#x\n", access);
diff --git a/dlls/kernel32/virtual.c b/dlls/kernel32/virtual.c index 0470073..2df19a7 100644 --- a/dlls/kernel32/virtual.c +++ b/dlls/kernel32/virtual.c @@ -353,17 +353,17 @@ HANDLE WINAPI CreateFileMappingW( HANDLE hFile, LPSECURITY_ATTRIBUTES sa, { case PAGE_READONLY: case PAGE_WRITECOPY: - access = STANDARD_RIGHTS_REQUIRED | SECTION_QUERY | SECTION_MAP_READ | SECTION_MAP_EXECUTE; + access = STANDARD_RIGHTS_REQUIRED | SECTION_QUERY | SECTION_MAP_READ; break; case PAGE_READWRITE: - access = STANDARD_RIGHTS_REQUIRED | SECTION_QUERY | SECTION_MAP_READ | SECTION_MAP_WRITE | SECTION_MAP_EXECUTE; + access = STANDARD_RIGHTS_REQUIRED | SECTION_QUERY | SECTION_MAP_READ | SECTION_MAP_WRITE; break; case PAGE_EXECUTE_READ: case PAGE_EXECUTE_WRITECOPY: - access = STANDARD_RIGHTS_REQUIRED | SECTION_QUERY | SECTION_MAP_READ | SECTION_MAP_EXECUTE | SECTION_MAP_EXECUTE_EXPLICIT; + access = STANDARD_RIGHTS_REQUIRED | SECTION_QUERY | SECTION_MAP_READ | SECTION_MAP_EXECUTE; break; case PAGE_EXECUTE_READWRITE: - access = STANDARD_RIGHTS_REQUIRED | SECTION_QUERY | SECTION_MAP_READ | SECTION_MAP_WRITE | SECTION_MAP_EXECUTE | SECTION_MAP_EXECUTE_EXPLICIT; + access = STANDARD_RIGHTS_REQUIRED | SECTION_QUERY | SECTION_MAP_READ | SECTION_MAP_WRITE | SECTION_MAP_EXECUTE; break; default: SetLastError( ERROR_INVALID_PARAMETER );