Author: tfaber
Date: Sun Apr 23 08:10:46 2017
New Revision: 74390
URL:
http://svn.reactos.org/svn/reactos?rev=74390&view=rev
Log:
[KMTESTS:MM]
- Show that NtMapViewOfSection validates section and process handles before checking base
address alignment
CORE-13113
Modified:
trunk/rostests/kmtests/ntos_mm/ZwMapViewOfSection.c
Modified: trunk/rostests/kmtests/ntos_mm/ZwMapViewOfSection.c
URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/kmtests/ntos_mm/ZwMapView…
==============================================================================
--- trunk/rostests/kmtests/ntos_mm/ZwMapViewOfSection.c [iso-8859-1] (original)
+++ trunk/rostests/kmtests/ntos_mm/ZwMapViewOfSection.c [iso-8859-1] Sun Apr 23 08:10:46
2017
@@ -142,6 +142,14 @@
BaseAddress = (PVOID)((char *)MmSystemRangeStart + 200);
TestMapView(WriteSectionHandle, NtCurrentProcess(), &BaseAddress, 0, 0, NULL,
&ViewSize, ViewUnmap, 0, PAGE_READWRITE, STATUS_INVALID_PARAMETER_3, IGNORE);
+ //invalid section handle AND unaligned base address
+ BaseAddress = (PVOID)0x00567A20;
+ TestMapView((HANDLE)0xDEADBEEF, NtCurrentProcess(), &BaseAddress, 0, 0, NULL,
&ViewSize, ViewUnmap, 0, PAGE_READWRITE, STATUS_INVALID_HANDLE, IGNORE);
+
+ //invalid process handle AND unaligned base address
+ BaseAddress = (PVOID)0x00567A20;
+ TestMapView(WriteSectionHandle, (HANDLE)0xDEADBEEF, &BaseAddress, 0, 0, NULL,
&ViewSize, ViewUnmap, 0, PAGE_READWRITE, STATUS_INVALID_HANDLE, IGNORE);
+
//try mapping section to an already mapped address
Status = ZwAllocateVirtualMemory(NtCurrentProcess(), &AllocBase, 0,
&AllocSize, MEM_COMMIT, PAGE_READWRITE);
if (!skip(NT_SUCCESS(Status), "Cannot allocate memory\n"))