summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--res/res_agi.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/res/res_agi.c b/res/res_agi.c
index f7bc8d9cf..cd4760b41 100644
--- a/res/res_agi.c
+++ b/res/res_agi.c
@@ -3391,7 +3391,7 @@ static enum agi_result run_agi(struct ast_channel *chan, char *request, AGI *agi
retry = AGI_NANDFS_RETRY;
buf[0] = '\0';
- while (buflen < (len - 1)) {
+ while (len > 1) {
res = fgets(buf + buflen, len, readf);
if (feof(readf))
break;
@@ -3402,7 +3402,7 @@ static enum agi_result run_agi(struct ast_channel *chan, char *request, AGI *agi
buflen = strlen(buf);
if (buflen && buf[buflen - 1] == '\n')
break;
- len -= buflen;
+ len = sizeof(buf) - buflen;
if (agidebug)
ast_verbose( "AGI Rx << temp buffer %s - errno %s\n", buf, strerror(errno));
}