diff --git a/reactos/ntoskrnl/mm/anonmem.c b/reactos/ntoskrnl/mm/anonmem.c index 3ccaf22c1a5..fc81ff81dd3 100644 --- a/reactos/ntoskrnl/mm/anonmem.c +++ b/reactos/ntoskrnl/mm/anonmem.c @@ -1149,6 +1149,12 @@ NtFreeVirtualMemory(IN HANDLE ProcessHandle, StartingAddress = (ULONG_PTR)PAGE_ALIGN(PBaseAddress); EndingAddress = ((ULONG_PTR)PBaseAddress + PRegionSize - 1) | (PAGE_SIZE - 1); Vad = MiLocateAddress((PVOID)StartingAddress); + if (!Vad) + { + DPRINT1("Unable to VAD for address 0x%p\n", BaseAddress); + Status = STATUS_UNABLE_TO_FREE_VM; + goto unlock_deref_and_return; + } /* This is the kind of VAD we expect right now */ ASSERT(Vad);