mirror of https://github.com/acidanthera/audk.git
ShellPkg/TftpDynamicCommand: Fix the potential assertion and memory leak issue.
This patch is to fix the issue reported from https://bugzilla.tianocore.org/show_bug.cgi?id=925. DataSize variable was not assigned the value if ShellOpenFileByName returns error. In the such a case, it should not be used to FreePages. Instead, DataSize can be used to record the file size once DownloadFile successfully. Cc: Ye Ting <ting.ye@intel.com> Cc: Fu Siyuan <siyuan.fu@intel.com> Cc: Jaben Carsey <jaben.carsey@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Wu Jiaxin <jiaxin.wu@intel.com> Reviewed-by: Fu Siyuan <siyuan.fu@intel.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
This commit is contained in:
parent
0c6f94dae5
commit
280f49b811
|
@ -519,6 +519,8 @@ RunTftp (
|
|||
goto NextHandle;
|
||||
}
|
||||
|
||||
DataSize = FileSize;
|
||||
|
||||
if (!EFI_ERROR (ShellFileExists (LocalFilePath))) {
|
||||
ShellDeleteFileByName (LocalFilePath);
|
||||
}
|
||||
|
@ -539,7 +541,6 @@ RunTftp (
|
|||
goto NextHandle;
|
||||
}
|
||||
|
||||
DataSize = FileSize;
|
||||
Status = ShellWriteFile (FileHandle, &FileSize, Data);
|
||||
if (!EFI_ERROR (Status)) {
|
||||
ShellStatus = SHELL_SUCCESS;
|
||||
|
|
Loading…
Reference in New Issue