X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=ShellPkg%2FLibrary%2FUefiFileHandleLib%2FUefiFileHandleLib.c;fp=ShellPkg%2FLibrary%2FUefiFileHandleLib%2FUefiFileHandleLib.c;h=fb9d4ec0be50978b806952b47dec0d4b8d06d710;hb=74fa83fda6be6277044619276d0f1391e72e54a2;hp=0bee8e38992d5b601a163f2641be02c923648e54;hpb=66c44008ba58f74dd88a2c137449d4335c784d40;p=mirror_edk2.git 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);