Hi Simon, On Fri May 15, 2026 at 07:58:38 -0600, Simon Glass wrote: > Hi Adam, > > On 2026-05-14T14:06:41, Adam Lackorzynski <[email protected]> wrote: > > common/command.c: Avoid NULL pointer use in cmd_auto_complete > > > > Avoid putting a potential NULL pointer to strcmp, which would lead to a > > load at address 0. > > > > Signed-off-by: Adam Lackorzynski <[email protected]> > > > > common/command.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > diff --git a/common/command.c b/common/command.c > > @@ -373,7 +373,7 @@ int cmd_auto_complete(const char *const prompt, char > > *buf, int *np, int *colp) > > const char *ps_prompt = CONFIG_SYS_PROMPT; > > #endif > > > > - if (strcmp(prompt, ps_prompt) != 0) > > + if (ps_prompt && strcmp(prompt, ps_prompt) != 0) > > return 0; /* not in normal console */ > > This avoids the deref but isn't quite right. uboot_cli_readline() in > common/cli_hush.c falls back to CONFIG_SYS_PROMPT (or > CONFIG_SYS_PROMPT_HUSH_PS2 for promptmode 2) when PS1 is unset, so > prompt here is never NULL. With your change, a NULL PS1 makes the > comparison succeed unconditionally and promptmode 2 gets treated as > the normal console. > > Please can you fall back to the default when env_get() returns NULL, > mirroring the readline path: > > const char *ps_prompt; > > if (IS_ENABLED(CONFIG_CMDLINE_PS_SUPPORT)) { > ps_prompt = env_get('PS1'); > > if (!ps_prompt) > ps_prompt = CONFIG_SYS_PROMPT; > } else { > ps_prompt = CONFIG_SYS_PROMPT; > } > > What do you think?
Thanks, looks good to me, will send a v2. BR, Adam

