The opt variable is checked for NULL at the beginning of the function. It is necessary to add a check to prevent null pointer dereferencing. Found with the SVACE static analysis tool. --- src/shared/shell.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/shared/shell.c b/src/shared/shell.c index f3f7bab9a..2ecc41bf3 100644 --- a/src/shared/shell.c +++ b/src/shared/shell.c @@ -1328,13 +1328,15 @@ void bt_shell_init(int argc, char **argv, const struct bt_shell_opt *opt) } } - if (c != opt->options[index - offset].val) { - usage(argc, argv, opt); - exit(EXIT_SUCCESS); - return; - } + if (opt) { + if (c != opt->options[index - offset].val) { + usage(argc, argv, opt); + exit(EXIT_SUCCESS); + return; + } - *opt->optarg[index - offset] = optarg ? : ""; + *opt->optarg[index - offset] = optarg ? : ""; + } } index = -1; -- 2.34.1