diff options
author | Diederik de Groot <ddegroot@talon.nl> | 2016-01-18 10:49:48 +0100 |
---|---|---|
committer | Diederik de Groot <ddegroot@talon.nl> | 2016-01-20 18:37:56 +0100 |
commit | b259ac95acefd67a90a451f55acab7fd6ce77d97 (patch) | |
tree | bf113332eb48d886ec830c75bd58c637a62f9712 /main | |
parent | 96763f48cf1a0f40d30dce493f2aeb9fbed5c6e2 (diff) |
main/asterisk.c: ast_el_read_char
Make sure buf[res] is not accessed at res=-1 (buffer underrun).
Address Sanitizer will complain about this quite loudly.
ASTERISK-24801 #close
Change-Id: Ifcd7f691310815a31756b76067c56fba299d3ae9
Diffstat (limited to 'main')
-rw-r--r-- | main/asterisk.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/main/asterisk.c b/main/asterisk.c index a7842a6ab..ca560cdb2 100644 --- a/main/asterisk.c +++ b/main/asterisk.c @@ -2708,11 +2708,12 @@ static int ast_el_read_char(EditLine *editline, char *cp) console_print(buf, 0); - if ((res < EL_BUF_SIZE - 1) && ((buf[res-1] == '\n') || (buf[res-2] == '\n'))) { + if ((res < EL_BUF_SIZE - 1) && ((buf[res-1] == '\n') || (res >= 2 && buf[res-2] == '\n'))) { *cp = CC_REFRESH; return(1); - } else + } else { lastpos = 1; + } } } |