Message ID | 20230411111426.55889-1-jiaxun.yang@flygoat.com (mailing list archive) |
---|---|
State | Accepted |
Commit | ee1809ed7bc456a72dc8410b475b73021a3a68d5 |
Headers | show |
Series | MIPS: fw: Allow firmware to pass a empty env | expand |
On Tue, Apr 11, 2023 at 12:14:26PM +0100, Jiaxun Yang wrote: > 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> > --- > Note: Fixes tag is intentionally omitted for this patch, although > the booting issue only comes in 6.1, the logic issue is been since very start. > --- > arch/mips/fw/lib/cmdline.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/mips/fw/lib/cmdline.c b/arch/mips/fw/lib/cmdline.c > index f24cbb4a39b5..892765b742bb 100644 > --- a/arch/mips/fw/lib/cmdline.c > +++ b/arch/mips/fw/lib/cmdline.c > @@ -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 > -- > 2.39.2 (Apple Git-143) applied to mips-next. Thomas.
diff --git a/arch/mips/fw/lib/cmdline.c b/arch/mips/fw/lib/cmdline.c index f24cbb4a39b5..892765b742bb 100644 --- a/arch/mips/fw/lib/cmdline.c +++ b/arch/mips/fw/lib/cmdline.c @@ -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
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> --- Note: Fixes tag is intentionally omitted for this patch, although the booting issue only comes in 6.1, the logic issue is been since very start. --- arch/mips/fw/lib/cmdline.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)