summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStar Zeng <star.zeng@intel.com>2016-06-12 12:45:09 +0800
committerHao Wu <hao.a.wu@intel.com>2016-07-06 16:48:30 +0800
commitb34cf5efe3482ed7093fb7927019faba44c4741f (patch)
treeb50a198fe935aa5d2af80148e5bfeeda76f96ec7
parent4b821a24c3c854e3cf43241a4663bd5ae9e47511 (diff)
downloadedk2-platforms-b34cf5efe3482ed7093fb7927019faba44c4741f.tar.xz
MdeModulePkg DxeS3BootScriptLib: Check (mSmst != NULL) before freeing SMRAM
There is static scan tool reports BootScriptSave.c:628:'mSmst' is explicitly dereferenced. The patch is to check (mSmst != NULL) before freeing SMRAM at BootScriptSave.c:628. Cc: Shumin Qiu <shumin.qiu@intel.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Shumin Qiu <shumin.qiu@intel.com> (cherry picked from commit d6f38e374ece00f1f8176007c9d3e8eff1f2308f)
-rw-r--r--MdeModulePkg/Library/PiDxeS3BootScriptLib/BootScriptSave.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/MdeModulePkg/Library/PiDxeS3BootScriptLib/BootScriptSave.c b/MdeModulePkg/Library/PiDxeS3BootScriptLib/BootScriptSave.c
index f6de986e08..0ff73211ac 100644
--- a/MdeModulePkg/Library/PiDxeS3BootScriptLib/BootScriptSave.c
+++ b/MdeModulePkg/Library/PiDxeS3BootScriptLib/BootScriptSave.c
@@ -624,7 +624,7 @@ S3BootScriptLibDeinitialize (
Status = PcdSet64S (PcdS3BootScriptTablePrivateDataPtr, 0);
ASSERT_EFI_ERROR (Status);
}
- if (mS3BootScriptTableSmmAllocated) {
+ if ((mSmst != NULL) && mS3BootScriptTableSmmAllocated) {
Status = mSmst->SmmFreePool (mS3BootScriptTableSmmPtr);
ASSERT_EFI_ERROR (Status);
Status = PcdSet64S (PcdS3BootScriptTablePrivateSmmDataPtr, 0);