Re: [PATCH v2] m68k/kernel: array out of bound access in process_uboot_commandline

From: Geert Uytterhoeven
Date: Tue Dec 28 2021 - 03:40:05 EST


CC greg

On Tue, Dec 28, 2021 at 3:06 AM Hangyu Hua <hbh25y@xxxxxxxxx> wrote:
>
> When the size of commandp >= size, array out of bound write occurs because
> len == 0.
>
> Signed-off-by: Hangyu Hua <hbh25y@xxxxxxxxx>
> ---
> 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