]> git.proxmox.com Git - mirror_edk2.git/commitdiff
ShellPkg/UefiShellLevel2CommandsLib: Handle the returned error
authorOlivier Martin <olivier.martin@arm.com>
Wed, 15 Apr 2015 18:16:58 +0000 (18:16 +0000)
committeroliviermartin <oliviermartin@Edk2>
Wed, 15 Apr 2015 18:16:58 +0000 (18:16 +0000)
If this function fails in release build then the error was
not handled and SourceHandle was not valid.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <olivier.martin@arm.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17184 6f19259b-4bc3-4df7-8a09-765794883524

ShellPkg/Library/UefiShellLevel2CommandsLib/Cp.c
ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.uni

index ffe1ebce6a06b4595554091054513720cc289357..8faa54beee767fd8944df5b4036dffea890ec109 100644 (file)
@@ -170,8 +170,11 @@ CopySingleFile(
     //\r
     // open source file\r
     //\r
-    Status = ShellOpenFileByName(Source, &SourceHandle, EFI_FILE_MODE_READ, 0);\r
-    ASSERT_EFI_ERROR(Status);\r
+    Status = ShellOpenFileByName (Source, &SourceHandle, EFI_FILE_MODE_READ, 0);\r
+    if (EFI_ERROR (Status)) {\r
+      ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_CP_SRC_OPEN_FAIL), gShellLevel2HiiHandle, CmdName, Source);\r
+      return (SHELL_ACCESS_DENIED);\r
+    }\r
 \r
     //\r
     //get file size of source file and freespace available on destination volume\r
index 048845588f0c29cc609d0b9a014a48014c598858..29563d2e21737be3c84a7e3413596a4fc8e0850b 100644 (file)
Binary files a/ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.uni and b/ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.uni differ