]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
efi_loader: sanitize efi_tcg2_final_events_table definition
authorHeinrich Schuchardt <heinrich.schuchardt@canonical.com>
Wed, 10 Apr 2024 22:50:43 +0000 (00:50 +0200)
committerHeinrich Schuchardt <heinrich.schuchardt@canonical.com>
Sat, 13 Apr 2024 09:03:12 +0000 (11:03 +0200)
The length of the variable name typically is not 1.
Neither the length of the variable name nor the size of the appended
data is known in the include.

* Define the size of element variable_name as variable.
* Remove the unusable element variable_data.

Addresses-Coverity-ID: 467400 Out-of-bounds read
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
include/efi_tcg2.h

index b21c5cb3dd673048a7871ee4f9b5f8b5595fab27..a75b5a35b6e725d97a1e7aa04ef9d6f593487605 100644 (file)
@@ -150,16 +150,14 @@ struct efi_tcg2_final_events_table {
  *                             the variable.
  * @variable_data_length:      The size of the variable data.
  * @unicode_name:              The CHAR16 unicode name of the variable
- *                             without NULL-terminator.
- * @variable_data:             The data parameter of the efi variable
- *                             in the GetVariable() API.
+ *                             without NULL-terminator followed by data.
  */
 struct efi_tcg2_uefi_variable_data {
        efi_guid_t variable_name;
        u64 unicode_name_length;
        u64 variable_data_length;
-       u16 unicode_name[1];
-       u8 variable_data[1];
+       u16 unicode_name[];
+       // u8 variable_data[];
 };
 
 /**