arch/m68k/kernel/uboot.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
When the size of commandp >= size, array out of bound write occurs because
len == 0.
Signed-off-by: Hangyu Hua <hbh25y@gmail.com>
---
arch/m68k/kernel/uboot.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/m68k/kernel/uboot.c b/arch/m68k/kernel/uboot.c
index 928dbd33fc4a..63eaf3c3ddcd 100644
--- a/arch/m68k/kernel/uboot.c
+++ b/arch/m68k/kernel/uboot.c
@@ -101,5 +101,6 @@ __init void process_uboot_commandline(char *commandp, int size)
}
parse_uboot_commandline(commandp, len);
- commandp[len - 1] = 0;
+ if (len > 0)
+ commandp[len - 1] = 0;
}
--
2.25.1
CC greg On Tue, Dec 28, 2021 at 3:06 AM Hangyu Hua <hbh25y@gmail.com> wrote: > > When the size of commandp >= size, array out of bound write occurs because > len == 0. > > Signed-off-by: Hangyu Hua <hbh25y@gmail.com> > --- > arch/m68k/kernel/uboot.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/arch/m68k/kernel/uboot.c b/arch/m68k/kernel/uboot.c > index 928dbd33fc4a..63eaf3c3ddcd 100644 > --- a/arch/m68k/kernel/uboot.c > +++ b/arch/m68k/kernel/uboot.c > @@ -101,5 +101,6 @@ __init void process_uboot_commandline(char *commandp, int size) > } > > parse_uboot_commandline(commandp, len); > - commandp[len - 1] = 0; > + if (len > 0) > + commandp[len - 1] = 0; > } > -- > 2.25.1
Hi, I think this patch may be forgotten. So I send this e-mail. And I cc Andreas who helped me fix the initial version of this patch. Happy new year. On Tue, Dec 28, 2021 at 4:40 PM Geert Uytterhoeven <geert@linux-m68k.org> wrote: > > CC greg > > On Tue, Dec 28, 2021 at 3:06 AM Hangyu Hua <hbh25y@gmail.com> wrote: > > > > When the size of commandp >= size, array out of bound write occurs because > > len == 0. > > > > Signed-off-by: Hangyu Hua <hbh25y@gmail.com> > > --- > > arch/m68k/kernel/uboot.c | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > diff --git a/arch/m68k/kernel/uboot.c b/arch/m68k/kernel/uboot.c > > index 928dbd33fc4a..63eaf3c3ddcd 100644 > > --- a/arch/m68k/kernel/uboot.c > > +++ b/arch/m68k/kernel/uboot.c > > @@ -101,5 +101,6 @@ __init void process_uboot_commandline(char *commandp, int size) > > } > > > > parse_uboot_commandline(commandp, len); > > - commandp[len - 1] = 0; > > + if (len > 0) > > + commandp[len - 1] = 0; > > } > > -- > > 2.25.1
© 2016 - 2026 Red Hat, Inc.