Likely fix for bug 5600:
authorSir Richard <sir_richard@svn.reactos.org>
Sun, 12 Sep 2010 19:10:27 +0000 (19:10 +0000)
committerSir Richard <sir_richard@svn.reactos.org>
Sun, 12 Sep 2010 19:10:27 +0000 (19:10 +0000)
commit903bb1c887ea14156e7b7f153e1b443fcb31e54f
tree6acb2536df5e1308e2dc63188bc21810e0ac889c
parent3f003e294ebed759e6320d1bd1a6ff6cb0d7633d
Likely fix for bug 5600:
[NTOS]: Using IsBadRead/CodePtr, it's possible for user-mode code to generate cases where we *think* this is an ARM3-managed piece of VA, which will always have a VAD (Since we only manage the PEB/TEB), but actually it's a bogus VA-looking address that is actually invalid. We didn't consider this case. We now implement the same code Windows normally would also handle, when the VA is bogus, and accept that no VAD might be found, so MM_NOACCESS is returned and thus an access violation sent to the caller. In the case of the IsBad...Ptr, this function would then return TRUE, as the caller expects.

svn path=/trunk/; revision=48759
reactos/ntoskrnl/mm/ARM3/pagfault.c