mirror of
https://github.com/reactos/reactos.git
synced 2025-02-22 08:25:03 +00:00
[NTOSKRNL]
Fix ending address calculation for the commit path in NtAllocateVirtualMemory like done for the reserve path in r63356. Add a comment about a Windows kernel bug, which we will keep for now, until the implications are better determined. svn path=/trunk/; revision=63388
This commit is contained in:
parent
e387cb4358
commit
590447888e
1 changed files with 7 additions and 1 deletions
|
@ -4593,8 +4593,8 @@ NtAllocateVirtualMemory(IN HANDLE ProcessHandle,
|
|||
// on the user input, and then compute the actual region size once all the
|
||||
// alignments have been done.
|
||||
//
|
||||
StartingAddress = (ULONG_PTR)PAGE_ALIGN(PBaseAddress);
|
||||
EndingAddress = (((ULONG_PTR)PBaseAddress + PRegionSize - 1) | (PAGE_SIZE - 1));
|
||||
StartingAddress = (ULONG_PTR)PAGE_ALIGN(PBaseAddress);
|
||||
PRegionSize = EndingAddress - StartingAddress + 1;
|
||||
|
||||
//
|
||||
|
@ -4700,6 +4700,12 @@ NtAllocateVirtualMemory(IN HANDLE ProcessHandle,
|
|||
{
|
||||
//
|
||||
// Make sure it's okay to touch it
|
||||
// Note: The Windows 2003 kernel has a bug here, passing the
|
||||
// unaligned base address together with the aligned size,
|
||||
// potentially covering a region larger than the actual allocation.
|
||||
// Might be exposed through NtGdiCreateDIBSection w/ section handle
|
||||
// For now we keep this behavior.
|
||||
// TODO: analyze possible implications, create test case
|
||||
//
|
||||
Status = MiCheckSecuredVad(FoundVad,
|
||||
PBaseAddress,
|
||||
|
|
Loading…
Reference in a new issue