Corey Farrell has uploaded a new change for review.

  https://gerrit.asterisk.org/74

Change subject: AMI: Fix improper handling of lines that are exactly 1025 bytes 
long.
......................................................................

AMI: Fix improper handling of lines that are exactly 1025 bytes long.

When AMI receives a line that is 1025 bytes long, it sends two error
messages.  Copy the last byte in the buffer to the first postiion,
set the length to 1.

ASTERISK-20524 #close
Reported by: David M. Lee

Change-Id: Ifda403e2713b59582c715229814fd64a0733c5ea
---
M main/manager.c
1 file changed, 4 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.asterisk.org:29418/asterisk refs/changes/74/74/1

diff --git a/main/manager.c b/main/manager.c
index d2d9896..fe4d071 100644
--- a/main/manager.c
+++ b/main/manager.c
@@ -6239,9 +6239,11 @@
                return 1;
        }
        if (s->session->inlen >= maxlen) {
-               /* no crlf found, and buffer full - sorry, too long for us */
+               /* no crlf found, and buffer full - sorry, too long for us
+                * keep the last character in case we are in the middle of a 
CRLF. */
                ast_log(LOG_WARNING, "Discarding message from %s. Line too 
long: %.25s...\n", ast_sockaddr_stringify_addr(&s->session->addr), src);
-               s->session->inlen = 0;
+               src[0] = src[s->session->inlen - 1];
+               s->session->inlen = 1;
                s->parsing = MESSAGE_LINE_TOO_LONG;
        }
        res = 0;

-- 
To view, visit https://gerrit.asterisk.org/74
To unsubscribe, visit https://gerrit.asterisk.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ifda403e2713b59582c715229814fd64a0733c5ea
Gerrit-PatchSet: 1
Gerrit-Project: asterisk
Gerrit-Branch: master
Gerrit-Owner: Corey Farrell <g...@cfware.com>

-- 
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev

Reply via email to