MIPS: fw: Allow firmware to pass a empty env
authorJiaxun Yang <jiaxun.yang@flygoat.com>
Tue, 11 Apr 2023 11:14:26 +0000 (12:14 +0100)
committerThomas Bogendoerfer <tsbogend@alpha.franken.de>
Wed, 12 Apr 2023 13:07:36 +0000 (15:07 +0200)
fw_getenv will use env entry to determine style of env,
however it is legal for firmware to just pass a empty list.

Check if first entry exist before running strchr to avoid
null pointer dereference.

Cc: stable@vger.kernel.org
Link: https://github.com/clbr/n64bootloader/issues/5
Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
arch/mips/fw/lib/cmdline.c

index f24cbb4..892765b 100644 (file)
@@ -53,7 +53,7 @@ char *fw_getenv(char *envname)
 {
        char *result = NULL;
 
-       if (_fw_envp != NULL) {
+       if (_fw_envp != NULL && fw_envp(0) != NULL) {
                /*
                 * Return a pointer to the given environment variable.
                 * YAMON uses "name", "value" pairs, while U-Boot uses