From 74fa83fda6be6277044619276d0f1391e72e54a2 Mon Sep 17 00:00:00 2001 From: jcarsey Date: Thu, 2 Feb 2012 16:55:30 +0000 Subject: ShellPkg: fix 'ls' handling of empty drives where there is not even an "." or ".." directory. Signed-off-by: jcarsey Reviewed-by: winddy_zhang@byosoft.com.cn git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12981 6f19259b-4bc3-4df7-8a09-765794883524 --- ShellPkg/Library/UefiFileHandleLib/UefiFileHandleLib.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'ShellPkg/Library/UefiFileHandleLib') diff --git a/ShellPkg/Library/UefiFileHandleLib/UefiFileHandleLib.c b/ShellPkg/Library/UefiFileHandleLib/UefiFileHandleLib.c index 0bee8e3899..fb9d4ec0be 100644 --- a/ShellPkg/Library/UefiFileHandleLib/UefiFileHandleLib.c +++ b/ShellPkg/Library/UefiFileHandleLib/UefiFileHandleLib.c @@ -509,9 +509,12 @@ FileHandleFindFirstFile ( // Status = FileHandleRead (DirHandle, &BufferSize, *Buffer); ASSERT(Status != EFI_BUFFER_TOO_SMALL); - if (EFI_ERROR(Status)) { + if (EFI_ERROR(Status) || BufferSize == 0) { FreePool(*Buffer); *Buffer = NULL; + if (BufferSize == 0) { + return (EFI_NOT_FOUND); + } return (Status); } return (EFI_SUCCESS); -- cgit v1.2.3