From e84ef91c54b862169601a7b4a2d02be78d0ad002 Mon Sep 17 00:00:00 2001 From: John Schmoller Date: Fri, 12 Mar 2010 09:49:23 -0600 Subject: console: Fix console buffer overrun When CONFIG_SYS_CBSIZE equals MAX_CMDBUF_SIZE, a command string of maximum length will overwrite part of the history buffer, causing the board to die. Expand the console_buffer and hist_lines buffer by one character each to hold the missing NULL char. Signed-off-by: John Schmoller Change-Id: I6ec005d373e81353aa09d3cd3962f279629e7681 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/6815 Reviewed-by: Michael BRANDT Tested-by: Michael BRANDT --- common/main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'common') diff --git a/common/main.c b/common/main.c index 6eeaa792d..fd0ab007a 100644 --- a/common/main.c +++ b/common/main.c @@ -69,7 +69,7 @@ static int abortboot(int); #undef DEBUG_PARSER -char console_buffer[CONFIG_SYS_CBSIZE]; /* console I/O buffer */ +char console_buffer[CONFIG_SYS_CBSIZE + 1]; /* console I/O buffer */ static char * delete_char (char *buffer, char *p, int *colp, int *np, int plen); static char erase_seq[] = "\b \b"; /* erase sequence */ @@ -549,7 +549,7 @@ static int hist_cur = -1; unsigned hist_num = 0; char* hist_list[HIST_MAX]; -char hist_lines[HIST_MAX][HIST_SIZE]; +char hist_lines[HIST_MAX][HIST_SIZE + 1]; /* Save room for NULL */ #define add_idx_minus_one() ((hist_add_idx == 0) ? hist_max : hist_add_idx-1) -- cgit v1.2.3