efi_loader: LocateHandle should return EFI_NOT_FOUND if none found

Spotted this debugging OpenBSD's bootloader in qemu.  (Wouldn't really
fix anything, the problem was not having any disks, but we should
probably return the correct error code.)

Signed-off-by: Rob Clark <robdclark@gmail.com>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
master
Rob Clark 7 years ago committed by Alexander Graf
parent ebf199b92f
commit 796a78cbe5
  1. 5
      lib/efi_loader/efi_boottime.c

@ -633,6 +633,10 @@ static efi_status_t efi_locate_handle(
return EFI_BUFFER_TOO_SMALL;
}
*buffer_size = size;
if (size == 0)
return EFI_NOT_FOUND;
/* Then fill the array */
list_for_each(lhandle, &efi_obj_list) {
struct efi_object *efiobj;
@ -642,7 +646,6 @@ static efi_status_t efi_locate_handle(
}
}
*buffer_size = size;
return EFI_SUCCESS;
}

Loading…
Cancel
Save