From 85f9842aab1720168883a1c36ad0f11b35832123 Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Wed, 16 Aug 2017 16:06:36 +0000 Subject: [PATCH] [KERNEL32] Support PAGE_EXECUTE_WRITECOPY in CreateFileMappingW if OsMajorVersion is 6+. svn path=/trunk/; revision=75574 --- reactos/dll/win32/kernel32/client/file/filemap.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/reactos/dll/win32/kernel32/client/file/filemap.c b/reactos/dll/win32/kernel32/client/file/filemap.c index 7a543ac3dc6..0a5bd39ab3d 100644 --- a/reactos/dll/win32/kernel32/client/file/filemap.c +++ b/reactos/dll/win32/kernel32/client/file/filemap.c @@ -85,6 +85,12 @@ CreateFileMappingW(HANDLE hFile, /* Give it */ DesiredAccess |= SECTION_MAP_EXECUTE; } + else if ((flProtect == PAGE_EXECUTE_WRITECOPY) && + (NtCurrentPeb()->OSMajorVersion >= 6)) + { + /* Give it */ + DesiredAccess |= (SECTION_MAP_WRITE | SECTION_MAP_EXECUTE); + } else if ((flProtect != PAGE_READONLY) && (flProtect != PAGE_WRITECOPY)) { SetLastError(ERROR_INVALID_PARAMETER);