From 6fc023d62de9a03ee592ad5172b3283b4a1a451c Mon Sep 17 00:00:00 2001 From: Alex Ionescu Date: Mon, 7 Nov 2011 17:49:10 +0000 Subject: [PATCH] [KERNEL32]: Fix a bug when converting EXECUTE access. svn path=/trunk/; revision=54339 --- reactos/dll/win32/kernel32/client/file/filemap.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/reactos/dll/win32/kernel32/client/file/filemap.c b/reactos/dll/win32/kernel32/client/file/filemap.c index dabd6ec99c5..220e1373ef8 100644 --- a/reactos/dll/win32/kernel32/client/file/filemap.c +++ b/reactos/dll/win32/kernel32/client/file/filemap.c @@ -314,11 +314,14 @@ OpenFileMappingW(IN DWORD dwDesiredAccess, NULL); /* Convert COPY to READ */ - if (dwDesiredAccess == FILE_MAP_COPY) dwDesiredAccess = SECTION_MAP_READ; - - /* Fixup execute */ - if (dwDesiredAccess == FILE_MAP_EXECUTE) + if (dwDesiredAccess == FILE_MAP_COPY) { + /* Fixup copy */ + dwDesiredAccess = SECTION_MAP_READ; + } + else if (dwDesiredAccess & FILE_MAP_EXECUTE) + { + /* Fixup execute */ dwDesiredAccess = (dwDesiredAccess & ~FILE_MAP_EXECUTE) | SECTION_MAP_EXECUTE; }