From dfea53f000aa3ae5b026fee75da371d5590d49ea Mon Sep 17 00:00:00 2001 From: Jian J Wang Date: Tue, 6 Feb 2018 13:12:36 +0800 Subject: [PATCH] MdeModulePkg/PiSmmCore: add API parameter check The Heap Guard feature wrapped SmmInternalFreePagesEx with SmmInternalFreePagesExWithGuard but didn't add necessary parameter check. This patch fixes this situation. Cc: Star Zeng Cc: Eric Dong Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Jian J Wang Reviewed-by: Star Zeng (cherry picked from commit 7823611cdad37cc3821526d325bc120f322a2d96) --- MdeModulePkg/Core/PiSmmCore/HeapGuard.c | 4 ++++ 1 file changed, 4 insertions(+) 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;