diff --git a/MdeModulePkg/Core/PiSmmCore/HeapGuard.c b/MdeModulePkg/Core/PiSmmCore/HeapGuard.c index 063a330b18..c5ffb26342 100644 --- a/MdeModulePkg/Core/PiSmmCore/HeapGuard.c +++ b/MdeModulePkg/Core/PiSmmCore/HeapGuard.c @@ -1205,6 +1205,10 @@ SmmInternalFreePagesExWithGuard ( EFI_PHYSICAL_ADDRESS MemoryToFree; UINTN PagesToFree; + if (((Memory & EFI_PAGE_MASK) != 0) || (Memory == 0) || (NumberOfPages == 0)) { + return EFI_INVALID_PARAMETER; + } + MemoryToFree = Memory; PagesToFree = NumberOfPages;