]> git.proxmox.com Git - mirror_edk2.git/commitdiff
1. add missing free operation in conditional branch.
authoreric_tian <eric_tian@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 5 Mar 2009 02:59:11 +0000 (02:59 +0000)
committereric_tian <eric_tian@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 5 Mar 2009 02:59:11 +0000 (02:59 +0000)
2. when variable store header is invalid status, we will return EFI_VOLUME_CORRUPTED to let code assert, which is helpful to find root cause quickly.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7804 6f19259b-4bc3-4df7-8a09-765794883524

MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariable.c
MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c

index f17dab03b02130b2a35c2eb11c18c9012403511c..1714ebab712d40cd86ea41ee39c38d4354174fb0 100644 (file)
@@ -977,6 +977,7 @@ VariableCommonInitialize (
             );\r
 \r
   if (EFI_ERROR (Status)) {\r
+    FreePool(mVariableModuleGlobal);\r
     return Status;\r
   }\r
   //\r
index d25fe038aa6800fc40e2e247b50fab72d88c8dab..597919aea40ff27f2be805ecc957ed0a90a132a3 100644 (file)
@@ -1984,6 +1984,9 @@ VariableCommonInitialize (
                NULL, \r
                &ReadyToBootEvent\r
                );\r
+  } else {\r
+    Status = EFI_VOLUME_CORRUPTED;\r
+    DEBUG((EFI_D_INFO, "Variable Store header is corrupted\n"));\r
   }\r
 \r
 Done:\r