]> git.proxmox.com Git - mirror_edk2.git/commitdiff
MdeModulePkg Variable: Fix the returned status in UpdateVariableStore
authorcinnamon shia <cinnamon.shia@hpe.com>
Fri, 11 May 2018 15:21:12 +0000 (23:21 +0800)
committerStar Zeng <star.zeng@intel.com>
Mon, 14 May 2018 02:04:55 +0000 (10:04 +0800)
If Fvb is a NULL, return EFI_UNSUPPORTED.
If the remaining size is not enough, return EFI_OUT_OF_RESOURCES.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: cinnamon shia <cinnamon.shia@hpe.com>
Signed-off-by: Ansen Huang <ansen.huang@hpe.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>
MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c

index 7303681aaa293adc801d6ac45694b84e19c731a1..d17361f8059ae952b68625784588684ef24cc64c 100644 (file)
@@ -238,6 +238,8 @@ IsValidVariableHeader (
   @param Buffer                  Pointer to the buffer from which data is written.\r
 \r
   @retval EFI_INVALID_PARAMETER  Parameters not valid.\r
+  @retval EFI_UNSUPPORTED        Fvb is a NULL for Non-Volatile variable update.\r
+  @retval EFI_OUT_OF_RESOURCES   The remaining size is not enough.\r
   @retval EFI_SUCCESS            Variable store successfully updated.\r
 \r
 **/\r
@@ -274,7 +276,7 @@ UpdateVariableStore (
   //\r
   if (!Volatile) {\r
     if (Fvb == NULL) {\r
-      return EFI_INVALID_PARAMETER;\r
+      return EFI_UNSUPPORTED;\r
     }\r
     Status = Fvb->GetPhysicalAddress(Fvb, &FvVolHdr);\r
     ASSERT_EFI_ERROR (Status);\r
@@ -289,7 +291,7 @@ UpdateVariableStore (
     }\r
 \r
     if ((DataPtr + DataSize) > ((EFI_PHYSICAL_ADDRESS) (UINTN) ((UINT8 *) FwVolHeader + FwVolHeader->FvLength))) {\r
-      return EFI_INVALID_PARAMETER;\r
+      return EFI_OUT_OF_RESOURCES;\r
     }\r
   } else {\r
     //\r
@@ -302,7 +304,7 @@ UpdateVariableStore (
     }\r
 \r
     if ((DataPtr + DataSize) > ((UINTN) ((UINT8 *) VolatileBase + VolatileBase->Size))) {\r
-      return EFI_INVALID_PARAMETER;\r
+      return EFI_OUT_OF_RESOURCES;\r
     }\r
 \r
     //\r