]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Backport fix from issue #9325.
authorJoshua Colp <jcolp@digium.com>
Mon, 18 Feb 2008 16:11:51 +0000 (16:11 +0000)
committerJoshua Colp <jcolp@digium.com>
Mon, 18 Feb 2008 16:11:51 +0000 (16:11 +0000)
(closes issue #11980)
Reported by: rbrunka

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@103768 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/asterisk.c

index ecfca97d4b7c713dcfecf3ba34dff3c8377d7988..52266b455a37f9c9c03c29b5307aaec0d33e3762 100644 (file)
@@ -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 {