[PATCH v2 1/1] input: avoid NULL dereference

Simon Glass sjg at google.com
Tue Oct 3 01:11:30 CEST 2023


Hi Tom,

On Mon, 2 Oct 2023 at 16:46, Tom Rini <trini at konsulko.com> wrote:
>
> On Tue, Oct 03, 2023 at 12:27:25AM +0200, Heinrich Schuchardt wrote:
> > Before using the result of env_get("stdin") we must check if it is NULL.
> >
> > Avoid #if. This resolves the -Wunused-but-set-variable issue and we don't
> > need a dummy assignment in the else branch. Anyway this warning is
> > disabled in the Makefile.
> >
> > Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt at canonical.com>
> > ---
> > v2:
> >       Avoid #if.
> > ---
> >  drivers/input/input.c | 22 ++++++++++++----------
> >  1 file changed, 12 insertions(+), 10 deletions(-)
> >
> > diff --git a/drivers/input/input.c b/drivers/input/input.c
> > index a4341e8c7c..de62189782 100644
> > --- a/drivers/input/input.c
> > +++ b/drivers/input/input.c
> > @@ -669,17 +669,19 @@ int input_stdio_register(struct stdio_dev *dev)
> >       int error;
> >
> >       error = stdio_register(dev);
> > -#if !defined(CONFIG_SPL_BUILD) || CONFIG_IS_ENABLED(ENV_SUPPORT)
> > -     /* check if this is the standard input device */
> > -     if (!error && strcmp(env_get("stdin"), dev->name) == 0) {
> > -             /* reassign the console */
> > -             if (OVERWRITE_CONSOLE ||
> > -                             console_assign(stdin, dev->name))
> > -                     return -1;
> > +     if ((IS_ENABLED(SPL_BUILD) || CONFIG_IS_ENABLED(ENV_SUPPORT)) &&
> > +         !error) {
> > +             const char *cstdin;
> > +
> > +             /* check if this is the standard input device */
> > +             cstdin = env_get("stdin");
> > +             if (cstdin && !strcmp(cstdin, dev->name)) {
> > +                     /* reassign the console */
> > +                     if (OVERWRITE_CONSOLE ||
> > +                         console_assign(stdin, dev->name))
> > +                             return -1;
> > +             }
> >       }
> > -#else
> > -     error = error;
> > -#endif
> >
> >       return 0;
> >  }
>
> This is an example I think of where #if is more readable.

I have seen you make this comment a bit, lately. I would have thought
that dropping a build path would be a win...is it the extra
indentation you don't like?

Regards,
Simon


More information about the U-Boot mailing list