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