summaryrefslogtreecommitdiffstats
path: root/MdeModulePkg/Core/PiSmmCore
diff options
context:
space:
mode:
authorJian J Wang <jian.j.wang@intel.com>2018-02-06 13:12:36 +0800
committerRuiyu Ni <ruiyu.ni@intel.com>2018-02-08 12:47:17 +0800
commit7823611cdad37cc3821526d325bc120f322a2d96 (patch)
tree776299e1e5b75f59424566f8d7b9e6e618d1379f /MdeModulePkg/Core/PiSmmCore
parenta012bf6e3e08d1fc878ffb271932e3cbce4a71f6 (diff)
downloadedk2-7823611cdad37cc3821526d325bc120f322a2d96.tar.gz
edk2-7823611cdad37cc3821526d325bc120f322a2d96.tar.bz2
edk2-7823611cdad37cc3821526d325bc120f322a2d96.zip
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 <star.zeng@intel.com> Cc: Eric Dong <eric.dong@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Jian J Wang <jian.j.wang@intel.com> Reviewed-by: Star Zeng <star.zeng@intel.com>
Diffstat (limited to 'MdeModulePkg/Core/PiSmmCore')
-rw-r--r--MdeModulePkg/Core/PiSmmCore/HeapGuard.c4
1 files changed, 4 insertions, 0 deletions
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;