From: Ilias Apalodimas Date: Thu, 6 Apr 2023 19:37:06 +0000 (+0300) Subject: efi_loader: Fix flexible array member definitions X-Git-Url: http://git.dujemihanovic.xyz/?a=commitdiff_plain;h=b10bfd0019f601e2608370ed47741da201423d55;p=u-boot.git efi_loader: Fix flexible array member definitions When a structure contains a flexible array member, it is not supposed to be included in arrays or other structs. Quoting the C spec [0] "Such a structure (and any union containing, possibly recursively, a member that is such a structure) shall not be a member of a structure or an element of an array." IOW efi_hii_keyboard_layout should not include struct efi_key_descriptor descriptors[]; since we use it at the declaration of struct efi_hii_keyboard_package. [0] https://www.dii.uchile.cl/~daespino/files/Iso_C_1999_definition.pdf chapter 6.7.2.1 Signed-off-by: Ilias Apalodimas Reviewed-by: Heinrich Schuchardt --- diff --git a/include/efi_api.h b/include/efi_api.h index dc6e5ce236..2fd0221c1c 100644 --- a/include/efi_api.h +++ b/include/efi_api.h @@ -1173,7 +1173,7 @@ struct efi_hii_keyboard_layout { efi_guid_t guid; u32 layout_descriptor_string_offset; u8 descriptor_count; - struct efi_key_descriptor descriptors[]; + /* struct efi_key_descriptor descriptors[]; follows here */ } __packed; struct efi_hii_keyboard_package {