diff options
author | file <file@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-02-18 16:11:51 +0000 |
---|---|---|
committer | file <file@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-02-18 16:11:51 +0000 |
commit | 0e2f3ade2544ede7278376e48794dc05169c2197 (patch) | |
tree | 13052c99129f9881ec03b87aba8b6de12fc3027b /main/asterisk.c | |
parent | e35d1ec095ff99be9355611f9abe340584e0951a (diff) |
Backport fix from issue #9325.
(closes issue #11980)
Reported by: rbrunka
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@103768 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main/asterisk.c')
-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 ecfca97d4..52266b455 100644 --- a/main/asterisk.c +++ b/main/asterisk.c @@ -1721,7 +1721,8 @@ static int ast_el_read_char(EditLine *el, char *cp) struct pollfd fds[2]; int res; int max; - char buf[512]; +#define EL_BUF_SIZE 512 + char buf[EL_BUF_SIZE]; for (;;) { max = 1; @@ -1784,7 +1785,7 @@ static int ast_el_read_char(EditLine *el, char *cp) if (!ast_opt_exec && !lastpos) write(STDOUT_FILENO, "\r", 1); write(STDOUT_FILENO, buf, res); - if ((buf[res-1] == '\n') || (buf[res-2] == '\n')) { + if ((res < EL_BUF_SIZE - 1) && ((buf[res-1] == '\n') || (buf[res-2] == '\n'))) { *cp = CC_REFRESH; return(1); } else { |