From: Qiu Shumin Date: Fri, 11 Mar 2016 05:32:52 +0000 (+0800) Subject: ShellPkg: Fix Shell ASSERT when read 'TAB' key fail from 'ConIn'. X-Git-Tag: edk2-stable201903~7616 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=9c17810a3635f6c0ca2afa78e3ec05bbb807d4be ShellPkg: Fix Shell ASSERT when read 'TAB' key fail from 'ConIn'. Free 'FoundFileList' when read 'TAB' key fail to avoid memory leak and ASSERT. Cc: Jaben Carsey Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Qiu Shumin Reviewed-by: Ruiyu Ni --- diff --git a/ShellPkg/Application/Shell/FileHandleWrappers.c b/ShellPkg/Application/Shell/FileHandleWrappers.c index 1a0c9992ab..0e5efe3025 100644 --- a/ShellPkg/Application/Shell/FileHandleWrappers.c +++ b/ShellPkg/Application/Shell/FileHandleWrappers.c @@ -572,8 +572,7 @@ FileInterfaceStdInRead( TabLinePos = (EFI_SHELL_FILE_INFO*)GetFirstNode(&FoundFileList->Link); InTabScrolling = TRUE; } else { - FreePool(FoundFileList); - FoundFileList = NULL; + ShellInfoObject.NewEfiShellProtocol->FreeFileList (&FoundFileList); } } } @@ -856,6 +855,9 @@ FileInterfaceStdInRead( // if this was used it should be deallocated by now... // prevent memory leaks... // + if (FoundFileList != NULL) { + ShellInfoObject.NewEfiShellProtocol->FreeFileList (&FoundFileList); + } ASSERT(FoundFileList == NULL); return Status;