The usage of the OPT macro may result in uninitialized struct members when applied to non-static variables. This commit mitigates this risk by taking advantage of C99's designated initializers to ensure proper initialization. In the case of efibootguard, we're dealing with a static array of structs, so each struct member is correctly initialized regardless of this adjustment.
This fixes a clang compiler warning. Signed-off-by: Michael Adler <[email protected]> --- tools/bg_envtools.h | 9 ++++++--- tools/bg_printenv.c | 2 +- tools/bg_setenv.c | 2 +- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/tools/bg_envtools.h b/tools/bg_envtools.h index 895b53f..8081d86 100644 --- a/tools/bg_envtools.h +++ b/tools/bg_envtools.h @@ -18,9 +18,12 @@ #include "env_api.h" -#define OPT(name, key, arg, flags, doc) \ - { \ - name, key, arg, flags, doc \ +#define OPT(_name, _key, _arg, _flags, _doc) \ + { .name = (_name) \ + , .key = (_key) \ + , .arg = (_arg) \ + , .flags = (_flags) \ + , .doc = (_doc) \ } /* if you change these, do not forget to update completion/common.py */ diff --git a/tools/bg_printenv.c b/tools/bg_printenv.c index 69d428b..9c52505 100644 --- a/tools/bg_printenv.c +++ b/tools/bg_printenv.c @@ -32,7 +32,7 @@ static struct argp_option options_printenv[] = { "watchdog_timeout, ustate, user. " "If omitted, all available fields are printed."), OPT("raw", 'r', 0, 0, "Raw output mode, e.g. for shell scripting"), - {}, + {0}, }; /* Arguments used by bg_printenv. */ diff --git a/tools/bg_setenv.c b/tools/bg_setenv.c index ab2e2ad..f318f12 100644 --- a/tools/bg_setenv.c +++ b/tools/bg_setenv.c @@ -42,7 +42,7 @@ static struct argp_option options_setenv[] = { "use this option multiple times."), OPT("in_progress", 'i', "IN_PROGRESS", 0, "Set in_progress variable to simulate a running update process."), - {}, + {0}, }; /* Arguments used by bg_setenv. */ -- 2.41.0 -- You received this message because you are subscribed to the Google Groups "EFI Boot Guard" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/efibootguard-dev/20230726130906.288342-1-michael.adler%40siemens.com.
