diff mbox

[U-Boot,V2] common: cli_simple: use strlcpy instead of strcpy

Message ID 1452402082-18244-1-git-send-email-van.freenix@gmail.com
State Accepted
Commit bb08a6e7d513cc1f591b35a6e7e68dd92078eed6
Delegated to: Tom Rini
Headers show

Commit Message

Peng Fan Jan. 10, 2016, 5:01 a.m. UTC
Report Coverity log:
Destination buffer too small (STRING_OVERFLOW)
string_overflow: You might overrun the 1024 byte destination string
lastcommand by writing 1025 bytes from console_buffer

Signed-off-by: Peng Fan <van.freenix@gmail.com>
Cc: Heiko Schocher <hs@denx.de>
Cc: Simon Glass <sjg@chromium.org>
Cc: Tom Rini <trini@konsulko.com>
---

Changes V2:
 Use strlcpy instead of strncpy.

 common/cli_simple.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Simon Glass Jan. 11, 2016, 4:58 p.m. UTC | #1
On 9 January 2016 at 22:01, Peng Fan <van.freenix@gmail.com> wrote:
> Report Coverity log:
> Destination buffer too small (STRING_OVERFLOW)
> string_overflow: You might overrun the 1024 byte destination string
> lastcommand by writing 1025 bytes from console_buffer
>
> Signed-off-by: Peng Fan <van.freenix@gmail.com>
> Cc: Heiko Schocher <hs@denx.de>
> Cc: Simon Glass <sjg@chromium.org>
> Cc: Tom Rini <trini@konsulko.com>
> ---
>
> Changes V2:
>  Use strlcpy instead of strncpy.
>
>  common/cli_simple.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)

Reviewed-by: Simon Glass <sjg@chromium.org>
Tom Rini Jan. 14, 2016, 1:22 p.m. UTC | #2
On Sun, Jan 10, 2016 at 01:01:22PM +0800, Peng Fan wrote:

> Report Coverity log:
> Destination buffer too small (STRING_OVERFLOW)
> string_overflow: You might overrun the 1024 byte destination string
> lastcommand by writing 1025 bytes from console_buffer
> 
> Signed-off-by: Peng Fan <van.freenix@gmail.com>
> Cc: Heiko Schocher <hs@denx.de>
> Cc: Simon Glass <sjg@chromium.org>
> Cc: Tom Rini <trini@konsulko.com>
> Reviewed-by: Simon Glass <sjg@chromium.org>

Applied to u-boot/master, thanks!
diff mbox

Patch

diff --git a/common/cli_simple.c b/common/cli_simple.c
index 9c3d073..bb96aae 100644
--- a/common/cli_simple.c
+++ b/common/cli_simple.c
@@ -276,7 +276,8 @@  void cli_simple_loop(void)
 
 		flag = 0;	/* assume no special flags for now */
 		if (len > 0)
-			strcpy(lastcommand, console_buffer);
+			strlcpy(lastcommand, console_buffer,
+				CONFIG_SYS_CBSIZE + 1);
 		else if (len == 0)
 			flag |= CMD_FLAG_REPEAT;
 #ifdef CONFIG_BOOT_RETRY_TIME