Reviewed-by: Fu Siyuan <[email protected]>
> -----Original Message-----
> From: Wu, Jiaxin
> Sent: Thursday, July 12, 2018 8:44 AM
> To: [email protected]
> Cc: Wu, Jiaxin <[email protected]>; Ye, Ting <[email protected]>; Fu,
> Siyuan <[email protected]>; Carsey, Jaben <[email protected]>
> Subject: [Patch] ShellPkg/TftpDynamicCommand: Fix the potential assertion
> and memory leak issue.
>
> From: Jiaxin Wu <[email protected]>
>
> 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 <[email protected]>
> Cc: Fu Siyuan <[email protected]>
> Cc: Jaben Carsey <[email protected]>
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Wu Jiaxin <[email protected]>
> ---
> ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.c
> b/ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.c
> index e2491cd54c..44be6d4e76 100644
> --- a/ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.c
> +++ b/ShellPkg/DynamicCommand/TftpDynamicCommand/Tftp.c
> @@ -517,10 +517,12 @@ RunTftp (
> mTftpHiiHandle, RemoteFilePath, NicName, Status
> );
> goto NextHandle;
> }
>
> + DataSize = FileSize;
> +
> if (!EFI_ERROR (ShellFileExists (LocalFilePath))) {
> ShellDeleteFileByName (LocalFilePath);
> }
>
> Status = ShellOpenFileByName (
> @@ -537,11 +539,10 @@ RunTftp (
> mTftpHiiHandle, L"tftp", LocalFilePath
> );
> goto NextHandle;
> }
>
> - DataSize = FileSize;
> Status = ShellWriteFile (FileHandle, &FileSize, Data);
> if (!EFI_ERROR (Status)) {
> ShellStatus = SHELL_SUCCESS;
> } else {
> ShellPrintHiiEx (
> --
> 2.17.1.windows.2
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel