]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Add some error checking.
authorxdu2 <xdu2@6f19259b-4bc3-4df7-8a09-765794883524>
Mon, 19 Jul 2010 05:21:27 +0000 (05:21 +0000)
committerxdu2 <xdu2@6f19259b-4bc3-4df7-8a09-765794883524>
Mon, 19 Jul 2010 05:21:27 +0000 (05:21 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10661 6f19259b-4bc3-4df7-8a09-765794883524

ShellPkg/Include/Library/ShellLib.h
ShellPkg/Library/UefiShellLib/UefiShellLib.c

index bc9a6cfd23610d96578a4c48b5e128b37c66d9ea..b697922200bc84f8a40daa9044be71d75d2b444a 100644 (file)
@@ -1134,6 +1134,7 @@ typedef enum {
   @retval EFI_SUCCESS             The operation was sucessful.\r
   @retval EFI_UNSUPPORTED         The operation is not supported as requested.\r
   @retval EFI_INVALID_PARAMETER   A parameter was invalid.\r
+  @retval EFI_OUT_OF_RESOURCES    A memory allocation failed.\r
   @return other                   The operation failed.\r
 **/\r
 EFI_STATUS\r
index fcb7e430ed6ec260217cc4d468fab3030a789396..d3cc59e9be5e8e5d1ae433f907b277f354cc8041 100644 (file)
@@ -623,7 +623,7 @@ ShellOpenFileByName(
   //\r
   ASSERT(mEfiShellEnvironment2 != NULL);\r
   FilePath = mEfiShellEnvironment2->NameToPath ((CHAR16*)FileName);\r
-  if (FileDevicePath != NULL) {\r
+  if (FilePath != NULL) {\r
     return (ShellOpenFileByDevicePath(&FilePath,\r
                                       &DeviceHandle,\r
                                       FileHandle,\r
@@ -1522,6 +1522,10 @@ ShellFindFilePath (
     Size = StrSize(Path);\r
     Size += StrSize(FileName);\r
     TestPath = AllocateZeroPool(Size);\r
+    ASSERT(TestPath != NULL);\r
+    if (TestPath == NULL) {\r
+      return (NULL);\r
+    }\r
     Walker = (CHAR16*)Path;\r
     do {\r
       CopyMem(TestPath, Walker, StrSize(Walker));\r
@@ -1594,9 +1598,7 @@ ShellFindFilePathEx (
   }\r
   for (ExtensionWalker = FileExtension, TempChar2 = (CHAR16*)FileExtension;  TempChar2 != NULL ; ExtensionWalker = TempChar2 + 1 ){\r
     StrCpy(TestPath, FileName);\r
-    if (ExtensionWalker != NULL) {\r
-      StrCat(TestPath, ExtensionWalker);\r
-    }\r
+    StrCat(TestPath, ExtensionWalker);\r
     TempChar = StrStr(TestPath, L";");\r
     if (TempChar != NULL) {\r
       *TempChar = CHAR_NULL;\r
@@ -2850,6 +2852,7 @@ StrnCatGrow (
   @retval EFI_SUCCESS             The operation was sucessful.\r
   @retval EFI_UNSUPPORTED         The operation is not supported as requested.\r
   @retval EFI_INVALID_PARAMETER   A parameter was invalid.\r
+  @retval EFI_OUT_OF_RESOURCES    A memory allocation failed.\r
   @return other                   The operation failed.\r
 **/\r
 EFI_STATUS\r
@@ -2867,6 +2870,9 @@ ShellPromptForResponse (
 \r
   Status = EFI_SUCCESS;\r
   Resp = (SHELL_PROMPT_RESPONSE*)AllocatePool(sizeof(SHELL_PROMPT_RESPONSE));\r
+  if (Resp == NULL) {\r
+    return EFI_OUT_OF_RESOURCES;\r
+  }\r
 \r
   switch(Type) {\r
     case SHELL_PROMPT_REQUEST_TYPE_QUIT_CONTINUE:\r