Revision: 19524
http://sourceforge.net/p/edk2/code/19524
Author: shenshushi
Date: 2015-12-25 01:24:16 +0000 (Fri, 25 Dec 2015)
Log Message:
-----------
ShellPkg: Fix memory leak in 'ShellOpenFileByName'.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Yao Jiewen <[email protected]>
Reviewed-by: Qiu Shumin <[email protected]>
Modified Paths:
--------------
trunk/edk2/ShellPkg/Library/UefiShellLib/UefiShellLib.c
Modified: trunk/edk2/ShellPkg/Library/UefiShellLib/UefiShellLib.c
===================================================================
--- trunk/edk2/ShellPkg/Library/UefiShellLib/UefiShellLib.c 2015-12-24
08:36:45 UTC (rev 19523)
+++ trunk/edk2/ShellPkg/Library/UefiShellLib/UefiShellLib.c 2015-12-25
01:24:16 UTC (rev 19524)
@@ -673,6 +673,7 @@
EFI_STATUS Status;
EFI_FILE_INFO *FileInfo;
CHAR16 *FileNameCopy;
+ EFI_STATUS Status2;
//
// ASSERT if FileName is NULL
@@ -719,8 +720,12 @@
FileInfo = FileFunctionMap.GetFileInfo(*FileHandle);
ASSERT(FileInfo != NULL);
FileInfo->Attribute = Attributes;
- Status = FileFunctionMap.SetFileInfo(*FileHandle, FileInfo);
+ Status2 = FileFunctionMap.SetFileInfo(*FileHandle, FileInfo);
FreePool(FileInfo);
+ if (EFI_ERROR (Status2)) {
+ gEfiShellProtocol->CloseFile(*FileHandle);
+ }
+ Status = Status2;
}
return (Status);
}
------------------------------------------------------------------------------
_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits