From 8d3000031dfc8b1d529e97d4471782bf636a84bf Mon Sep 17 00:00:00 2001 From: ydong10 Date: Thu, 26 Apr 2012 02:00:30 +0000 Subject: Enhance code to more safely and follow coding style. Signed-off-by: Eric Dong Reviewed-by: Jaben Carsey git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13221 6f19259b-4bc3-4df7-8a09-765794883524 --- .../Library/UefiShellInstall1CommandsLib/Bcfg.c | 10 ++++++++-- .../UefiShellInstall1CommandsLib.uni | Bin 15646 -> 15858 bytes 2 files changed, 8 insertions(+), 2 deletions(-) (limited to 'ShellPkg/Library/UefiShellInstall1CommandsLib') diff --git a/ShellPkg/Library/UefiShellInstall1CommandsLib/Bcfg.c b/ShellPkg/Library/UefiShellInstall1CommandsLib/Bcfg.c index e800533b6f..1f19712862 100644 --- a/ShellPkg/Library/UefiShellInstall1CommandsLib/Bcfg.c +++ b/ShellPkg/Library/UefiShellInstall1CommandsLib/Bcfg.c @@ -107,6 +107,7 @@ UpdateOptionalData( // // Allocate new struct and discard old optional data. // + ASSERT (OriginalData != NULL); OriginalOptionDataSize = sizeof(UINT32) + sizeof(UINT16) + StrSize(((CHAR16*)(OriginalData + sizeof(UINT32) + sizeof(UINT16)))); OriginalOptionDataSize += (*(UINT16*)(OriginalData + sizeof(UINT32))); OriginalOptionDataSize -= OriginalSize; @@ -139,8 +140,8 @@ UpdateOptionalData( /** This function will get a CRC for a boot option. - @param[in, out] Crc The CRC value to return. - @param[in] Index The boot option index to CRC. + @param[in, out] Crc The CRC value to return. + @param[in] BootIndex The boot option index to CRC. @retval EFI_SUCCESS The CRC was sucessfully returned. @retval other A error occured. @@ -779,6 +780,11 @@ BcfgAddOptInstall1( ShellStatus = SHELL_INVALID_PARAMETER; } else { FileName = StrnCatGrow(&FileName, NULL, Walker+1, 0); + if (FileName == NULL) { + ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_OUT_MEM), gShellInstall1HiiHandle); + ShellStatus = SHELL_OUT_OF_RESOURCES; + return (ShellStatus); + } Temp2 = StrStr(FileName, L"\""); ASSERT(Temp2 != NULL); Temp2[0] = CHAR_NULL; diff --git a/ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.uni b/ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.uni index 7c34ac5029..d4b030abb6 100644 Binary files a/ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.uni and b/ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.uni differ -- cgit v1.2.3