From efaa9cf6076e51a53273f5d2f6589e5f643d315f Mon Sep 17 00:00:00 2001
From: Russell Bryant <russell@russellbryant.com>
Date: Mon, 1 Oct 2007 19:58:29 +0000
Subject: [PATCH] Merged revisions 84236 via svnmerge from
 https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r84236 | russell | 2007-10-01 14:56:28 -0500 (Mon, 01 Oct 2007) | 5 lines

Add another sanity check in the AGI read loop.  We really don't care about
EAGAIN unless we didn't read an entire line.  If there is a newline at the
end if the read buffer, break, because we got the whole thing.
(reported and patched by bmd)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@84237 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 res/res_agi.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/res/res_agi.c b/res/res_agi.c
index 9e9261690c..aeaeb7dd0c 100644
--- a/res/res_agi.c
+++ b/res/res_agi.c
@@ -1926,6 +1926,8 @@ static enum agi_result run_agi(struct ast_channel *chan, char *request, AGI *agi
 				if (res != NULL && !agi->fast)
 					break;
 				buflen = strlen(buf);
+				if (buflen && buf[buflen - 1] == '\n')
+					break;
 				len -= buflen;
 				if (agidebug)
 					ast_verbose( "AGI Rx << temp buffer %s - errno %s\n", buf, strerror(errno));
-- 
GitLab