From: Thomas Faber Date: Sun, 23 Apr 2017 08:10:46 +0000 (+0000) Subject: [KMTESTS:MM] X-Git-Tag: ReactOS-0.4.5~44 X-Git-Url: https://git.reactos.org/?p=reactos.git;a=commitdiff_plain;h=6e74416198447f59929a75bcde5d0b54baae2d0a;ds=sidebyside [KMTESTS:MM] - Show that NtMapViewOfSection validates section and process handles before checking base address alignment CORE-13113 svn path=/trunk/; revision=74390 --- diff --git a/rostests/kmtests/ntos_mm/ZwMapViewOfSection.c b/rostests/kmtests/ntos_mm/ZwMapViewOfSection.c index b2453a7b9fa..ee8b494f404 100644 --- a/rostests/kmtests/ntos_mm/ZwMapViewOfSection.c +++ b/rostests/kmtests/ntos_mm/ZwMapViewOfSection.c @@ -142,6 +142,14 @@ SimpleErrorChecks(HANDLE FileHandleReadOnly, HANDLE FileHandleWriteOnly, HANDLE 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"))