]> git.proxmox.com Git - mirror_edk2.git/commitdiff
ShellPkg/Mv: Handle memory allocation failure
authorRuiyu Ni <ruiyu.ni@intel.com>
Wed, 13 Jul 2016 09:38:51 +0000 (17:38 +0800)
committerRuiyu Ni <ruiyu.ni@intel.com>
Mon, 18 Jul 2016 03:04:07 +0000 (11:04 +0800)
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
ShellPkg/Library/UefiShellLevel2CommandsLib/Mv.c

index d02a6ae5f5c0560c7bf987b46f26be12bb8a9534..f93772c6f8d144bc869ecf307aad4f0fe231d8f2 100644 (file)
@@ -736,11 +736,15 @@ ShellCommandRunMv (
             //\r
             CwdSize = StrSize(ShellGetCurrentDir(NULL)) + sizeof(CHAR16);\r
             Cwd = AllocateZeroPool(CwdSize);\r
-            ASSERT (Cwd != NULL);\r
-            StrCpyS(Cwd, CwdSize/sizeof(CHAR16), ShellGetCurrentDir(NULL));\r
-            StrCatS(Cwd, CwdSize/sizeof(CHAR16), L"\\");\r
-            ShellStatus = ValidateAndMoveFiles(FileList, &Response, Cwd);\r
-            FreePool(Cwd);\r
+            if (Cwd == NULL) {\r
+              ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_GEN_OUT_MEM), gShellLevel2HiiHandle, L"mv");\r
+              ShellStatus = SHELL_OUT_OF_RESOURCES;\r
+            } else {\r
+              StrCpyS (Cwd, CwdSize / sizeof (CHAR16), ShellGetCurrentDir (NULL));\r
+              StrCatS (Cwd, CwdSize / sizeof (CHAR16), L"\\");\r
+              ShellStatus = ValidateAndMoveFiles (FileList, &Response, Cwd);\r
+              FreePool (Cwd);\r
+            }\r
           }\r
         }\r
 \r