From d1d18942316895d74f312b1889ead8a92e7b01f2 Mon Sep 17 00:00:00 2001 From: Aleksey Bragin Date: Wed, 22 Dec 2010 21:59:27 +0000 Subject: [PATCH] [NTOS] - Fix memory region size calculation in MemoryBasicInformation in certain cases. Spotted by Michael Martin. svn path=/trunk/; revision=50108 --- reactos/ntoskrnl/mm/ARM3/virtual.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/reactos/ntoskrnl/mm/ARM3/virtual.c b/reactos/ntoskrnl/mm/ARM3/virtual.c index 508db86b1e2..b576119264f 100644 --- a/reactos/ntoskrnl/mm/ARM3/virtual.c +++ b/reactos/ntoskrnl/mm/ARM3/virtual.c @@ -2446,6 +2446,9 @@ MiQueryMemoryBasicInformation(IN HANDLE ProcessHandle, /* Check if this VAD is too high */ if (BaseVpn < Vad->StartingVpn) { + /* Stop if there is no left child */ + if (!Vad->LeftChild) break; + /* Search on the left next */ Vad = Vad->LeftChild; } @@ -2453,6 +2456,11 @@ MiQueryMemoryBasicInformation(IN HANDLE ProcessHandle, { /* Then this VAD is too low, keep searching on the right */ ASSERT(BaseVpn > Vad->EndingVpn); + + /* Stop if there is no right child */ + if (!Vad->LeftChild) break; + + /* Search on the right next */ Vad = Vad->RightChild; } } -- 2.17.1