]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Library/PiDxeS3BootScriptLib/BootScriptSave.c
MdeModulePkg DxeS3BootScriptLib: Check (mSmst != NULL) before freeing SMRAM
[mirror_edk2.git] / MdeModulePkg / Library / PiDxeS3BootScriptLib / BootScriptSave.c
index 0bd0bd04f6afbede784d62e9295cc23810f3b91d..0ff73211acc44a7de6aba29bc45485bca3a1b761 100644 (file)
@@ -443,10 +443,6 @@ S3BootScriptLibInitialize (
   BOOLEAN                        InSmm;\r
   EFI_PHYSICAL_ADDRESS           Buffer;\r
 \r
-  if (!PcdGetBool (PcdAcpiS3Enable)) {\r
-    return RETURN_SUCCESS;\r
-  }\r
-\r
   S3TablePtr = (SCRIPT_TABLE_PRIVATE_DATA*)(UINTN)PcdGet64(PcdS3BootScriptTablePrivateDataPtr);\r
   //\r
   // The Boot script private data is not be initialized. create it\r
@@ -628,7 +624,7 @@ S3BootScriptLibDeinitialize (
     Status = PcdSet64S (PcdS3BootScriptTablePrivateDataPtr, 0);\r
     ASSERT_EFI_ERROR (Status);\r
   }\r
-  if (mS3BootScriptTableSmmAllocated) {\r
+  if ((mSmst != NULL) && mS3BootScriptTableSmmAllocated) {\r
     Status = mSmst->SmmFreePool (mS3BootScriptTableSmmPtr);\r
     ASSERT_EFI_ERROR (Status);\r
     Status = PcdSet64S (PcdS3BootScriptTablePrivateSmmDataPtr, 0);\r