efi_loader: SetMode() parameters check
authorHeinrich Schuchardt <xypron.glpk@gmx.de>
Sat, 15 Jun 2019 10:58:30 +0000 (12:58 +0200)
committerHeinrich Schuchardt <xypron.glpk@gmx.de>
Thu, 20 Jun 2019 22:26:15 +0000 (22:26 +0000)
If EFI_GRAPHICS_OUTPUT_PROTOCOL.SetMode() is called with an invalid mode,
return EFI_UNSUPPORTED.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
lib/efi_loader/efi_gop.c

index c44a1cfc471b7642c7b27e482dedc0e8d3902132..676463f2de053bbbdbc20901993565692f13e845 100644 (file)
@@ -60,12 +60,14 @@ out:
 
 static efi_status_t EFIAPI gop_set_mode(struct efi_gop *this, u32 mode_number)
 {
+       efi_status_t ret = EFI_SUCCESS;
+
        EFI_ENTRY("%p, %x", this, mode_number);
 
-       if (mode_number != 0)
-               return EFI_EXIT(EFI_INVALID_PARAMETER);
+       if (mode_number)
+               ret = EFI_UNSUPPORTED;
 
-       return EFI_EXIT(EFI_SUCCESS);
+       return EFI_EXIT(ret);
 }
 
 static __always_inline struct efi_gop_pixel efi_vid16_to_blt_col(u16 vid)