]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ShellPkg/Library/UefiShellInstall1CommandsLib/Bcfg.c
Enhance code to more safely and follow coding style.
[mirror_edk2.git] / ShellPkg / Library / UefiShellInstall1CommandsLib / Bcfg.c
index e800533b6f9f936fcdd8f98be227e26b554eb31a..1f1971286202ed58d5fcb654eb52b0ceed6aebcb 100644 (file)
@@ -107,6 +107,7 @@ UpdateOptionalData(
     //\r
     // Allocate new struct and discard old optional data.\r
     //\r
+    ASSERT (OriginalData != NULL);\r
     OriginalOptionDataSize  = sizeof(UINT32) + sizeof(UINT16) + StrSize(((CHAR16*)(OriginalData + sizeof(UINT32) + sizeof(UINT16))));\r
     OriginalOptionDataSize += (*(UINT16*)(OriginalData + sizeof(UINT32)));\r
     OriginalOptionDataSize -= OriginalSize;\r
@@ -139,8 +140,8 @@ UpdateOptionalData(
 /**\r
   This function will get a CRC for a boot option.\r
 \r
-  @param[in, out] Crc     The CRC value to return.\r
-  @param[in]      Index   The boot option index to CRC.\r
+  @param[in, out] Crc         The CRC value to return.\r
+  @param[in]      BootIndex   The boot option index to CRC.\r
 \r
   @retval EFI_SUCCESS           The CRC was sucessfully returned.\r
   @retval other                 A error occured.\r
@@ -779,6 +780,11 @@ BcfgAddOptInstall1(
       ShellStatus = SHELL_INVALID_PARAMETER;\r
     } else {\r
       FileName = StrnCatGrow(&FileName, NULL, Walker+1, 0);\r
+      if (FileName == NULL) {\r
+        ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_OUT_MEM), gShellInstall1HiiHandle);\r
+        ShellStatus = SHELL_OUT_OF_RESOURCES;\r
+        return (ShellStatus);\r
+      }\r
       Temp2 = StrStr(FileName, L"\"");\r
       ASSERT(Temp2 != NULL);\r
       Temp2[0] = CHAR_NULL;\r