Before using the result of env_get("stdin") we must check if it is NULL.

Use attribute __maybe unused instead of dummy assignment.

Signed-off-by: Heinrich Schuchardt <heinrich.schucha...@canonical.com>
---
 drivers/input/input.c | 21 ++++++++++++---------
 1 file changed, 12 insertions(+), 9 deletions(-)

diff --git a/drivers/input/input.c b/drivers/input/input.c
index a4341e8c7c..2330b21f71 100644
--- a/drivers/input/input.c
+++ b/drivers/input/input.c
@@ -666,19 +666,22 @@ int input_init(struct input_config *config, int leds)
 
 int input_stdio_register(struct stdio_dev *dev)
 {
-       int error;
+       __maybe_unused 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 (!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;
-- 
2.40.1

Reply via email to