mirror of
https://github.com/reactos/reactos.git
synced 2024-10-02 07:26:47 +00:00
Mm: Fix page protection flags checks.
svn path=/trunk/; revision=39054
This commit is contained in:
parent
16c99f33f3
commit
f7b0b2a29e
|
@ -140,6 +140,16 @@ typedef ULONG PFN_TYPE, *PPFN_TYPE;
|
|||
PAGE_NOACCESS | \
|
||||
PAGE_NOCACHE)
|
||||
|
||||
#define PAGE_FLAGS_VALID_FOR_SECTION \
|
||||
(PAGE_READONLY | \
|
||||
PAGE_READWRITE | \
|
||||
PAGE_WRITECOPY | \
|
||||
PAGE_EXECUTE | \
|
||||
PAGE_EXECUTE_READ | \
|
||||
PAGE_EXECUTE_READWRITE | \
|
||||
PAGE_EXECUTE_WRITECOPY | \
|
||||
PAGE_NOACCESS)
|
||||
|
||||
#define PAGE_IS_READABLE \
|
||||
(PAGE_READONLY | \
|
||||
PAGE_READWRITE | \
|
||||
|
|
|
@ -569,7 +569,7 @@ NtAllocateVirtualMemory(IN HANDLE ProcessHandle,
|
|||
Protect);
|
||||
|
||||
/* Check for valid protection flags */
|
||||
if (!(Protect & PAGE_FLAGS_VALID_FROM_USER_MODE))
|
||||
if (!Protect || Protect & ~PAGE_FLAGS_VALID_FROM_USER_MODE)
|
||||
{
|
||||
DPRINT1("Invalid page protection\n");
|
||||
return STATUS_INVALID_PAGE_PROTECTION;
|
||||
|
|
|
@ -4538,10 +4538,7 @@ MmMapViewOfSection(IN PVOID SectionObject,
|
|||
|
||||
ASSERT(Process);
|
||||
|
||||
if (!(Protect & (PAGE_READONLY | PAGE_READWRITE |
|
||||
PAGE_WRITECOPY | PAGE_EXECUTE |
|
||||
PAGE_EXECUTE_READ | PAGE_EXECUTE_READWRITE |
|
||||
PAGE_EXECUTE_WRITECOPY | PAGE_NOACCESS)))
|
||||
if (!Protect || Protect & ~PAGE_FLAGS_VALID_FOR_SECTION)
|
||||
{
|
||||
return STATUS_INVALID_PAGE_PROTECTION;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue