[NTDLL_APITEST]

- Add a test showing that memory content is still available after changing protection to PAGE_NOACCESS

svn path=/trunk/; revision=63678
This commit is contained in:
Jérôme Gardou 2014-06-30 19:50:28 +00:00
parent 0f7a53e999
commit 265497886f

View file

@ -89,6 +89,27 @@ START_TEST(NtProtectVirtualMemory)
{
ok(*allocationStart == 0, "Test should not go as far as this.\n");
} EndSeh(STATUS_ACCESS_VIOLATION);
/* Set it as readable again */
status = NtProtectVirtualMemory(NtCurrentProcess(),
(void**)&allocationStart,
&allocationSize,
PAGE_READONLY,
&oldProtection);
ok(NT_SUCCESS(status), "NtProtectVirtualMemory failed.\n");
ok(oldProtection == PAGE_NOACCESS, "Expected PAGE_READONLY, got %08lx.\n", oldProtection);
/* Try writing it */
StartSeh()
{
*allocationStart = 0xAA;
} EndSeh(STATUS_ACCESS_VIOLATION);
/* Try reading it */
StartSeh()
{
ok(*allocationStart == 0xFF, "Memory content was not preserved.\n");
} EndSeh(STATUS_SUCCESS);
/* Free memory */
status = NtFreeVirtualMemory(NtCurrentProcess(),
@ -96,4 +117,4 @@ START_TEST(NtProtectVirtualMemory)
&allocationSize,
MEM_RELEASE);
ok(NT_SUCCESS(status), "Failed freeing memory.\n");
}
}