Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Yao Jiewen <Jiewen.Yao@intel.com>
Reviewed-by: Qiu Shumin <shumin.qiu@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19524
6f19259b-4bc3-4df7-8a09-
765794883524
EFI_STATUS Status;\r
EFI_FILE_INFO *FileInfo;\r
CHAR16 *FileNameCopy;\r
+ EFI_STATUS Status2;\r
\r
//\r
// ASSERT if FileName is NULL\r
FileInfo = FileFunctionMap.GetFileInfo(*FileHandle);\r
ASSERT(FileInfo != NULL);\r
FileInfo->Attribute = Attributes;\r
- Status = FileFunctionMap.SetFileInfo(*FileHandle, FileInfo);\r
+ Status2 = FileFunctionMap.SetFileInfo(*FileHandle, FileInfo);\r
FreePool(FileInfo);\r
+ if (EFI_ERROR (Status2)) {\r
+ gEfiShellProtocol->CloseFile(*FileHandle);\r
+ }\r
+ Status = Status2;\r
}\r
return (Status);\r
}\r