From 6cd92b1a7c62dc808e74f4638a027da3f6a044ce Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Thu, 5 Nov 2020 10:33:42 -0700 Subject: [PATCH] bootm: Use size rather than length for CONSOLE_ARG Use the size (including terminator) for in this function, rather than the length. This is arguably easier to follow, with the coming refactor. Signed-off-by: Simon Glass --- common/bootm.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/common/bootm.c b/common/bootm.c index 9b0c81d653..9295cf5cd3 100644 --- a/common/bootm.c +++ b/common/bootm.c @@ -465,8 +465,8 @@ ulong bootm_disable_interrupts(void) return iflag; } -#define CONSOLE_ARG "console=" -#define CONSOLE_ARG_LEN (sizeof(CONSOLE_ARG) - 1) +#define CONSOLE_ARG "console=" +#define CONSOLE_ARG_SIZE sizeof(CONSOLE_ARG) int bootm_process_cmdline_env(bool do_silent) { @@ -500,7 +500,7 @@ int bootm_process_cmdline_env(bool do_silent) char *start = strstr(cmdline, CONSOLE_ARG); /* Allocate space for maximum possible new command line */ - buf = malloc(strlen(cmdline) + 1 + CONSOLE_ARG_LEN + 1); + buf = malloc(strlen(cmdline) + 1 + CONSOLE_ARG_SIZE); if (!buf) { debug("%s: out of memory\n", __func__); return -ENOSPC; @@ -508,13 +508,14 @@ int bootm_process_cmdline_env(bool do_silent) if (start) { char *end = strchr(start, ' '); - int num_start_bytes = start - cmdline + CONSOLE_ARG_LEN; + int start_bytes; - strncpy(buf, cmdline, num_start_bytes); + start_bytes = start - cmdline + CONSOLE_ARG_SIZE - 1; + strncpy(buf, cmdline, start_bytes); if (end) - strcpy(buf + num_start_bytes, end); + strcpy(buf + start_bytes, end); else - buf[num_start_bytes] = '\0'; + buf[start_bytes] = '\0'; } else { sprintf(buf, "%s %s", cmdline, CONSOLE_ARG); } -- 2.34.1