getopt_long() expects a NULL-terminated list of structures. The current list in mkimage does not have a zero-filled structure at the end, which can cause getopt_long() to walk past the end of the array when passing an unknown option, causing a segmentation fault.
As a reproducer, the following command causes a segmentation fault (tested in Debian 12): mkimage --foobar Signed-off-by: Carlos López <carlos.lopezr4...@gmail.com> --- tools/mkimage.c | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/mkimage.c b/tools/mkimage.c index ac62ebbde9b..2954626a283 100644 --- a/tools/mkimage.c +++ b/tools/mkimage.c @@ -196,6 +196,7 @@ static const struct option longopts[] = { { "verbose", no_argument, NULL, 'v' }, { "version", no_argument, NULL, 'V' }, { "xip", no_argument, NULL, 'x' }, + { /* sentinel */ }, }; static void process_args(int argc, char **argv) -- 2.39.5