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 <jschmoller@xes-inc.com>
This commit is contained in:
parent
e070a56c77
commit
6475b9f91b
@ -68,7 +68,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 */
|
||||
@ -546,7 +546,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)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user