]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
cmd: eficonfig: adjust struct eficonfig_entry, field key
authorHeinrich Schuchardt <heinrich.schuchardt@canonical.com>
Wed, 29 Apr 2026 16:56:29 +0000 (18:56 +0200)
committerHeinrich Schuchardt <heinrich.schuchardt@canonical.com>
Tue, 5 May 2026 14:29:08 +0000 (16:29 +0200)
The number EFICONFIG_ENTRY_NUM_MAX - 1 must be printable
to field key of struct eficonfig_entry.

Fixes: 1f0583beeb32 ("eficonfig: set EFICONFIG_ENTRY_NUM_MAX to INT_MAX - 1")
Fixes: 23aa0502a4b9 ("eficonfig: increase the number of menu entries")
Addresses-Coverity-ID: 583414 - Out-of-bounds write
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
include/efi_config.h

index 23211e799fc7ace03c137c0ce9f5f2fff3015276..bff77a5f961f96e20577c737e695b942726f87d7 100644 (file)
@@ -24,7 +24,7 @@ typedef efi_status_t (*eficonfig_entry_func)(void *data);
  *
  * @num:       menu entry index
  * @title:     title of entry
- * @key:       unique key
+ * @key:       unique key, takes a number up to EFICONFIG_ENTRY_NUM_MAX - 1
  * @efi_menu:  pointer to the menu structure
  * @func:      callback function to be called when this entry is selected
  * @data:      data to be passed to the callback function, caller must free() this pointer
@@ -33,7 +33,7 @@ typedef efi_status_t (*eficonfig_entry_func)(void *data);
 struct eficonfig_entry {
        u32 num;
        char *title;
-       char key[3];
+       char key[11];
        struct efimenu *efi_menu;
        eficonfig_entry_func func;
        void *data;