From 0327bf310f775793d4bbf7ac3b33b1a44be4f918 Mon Sep 17 00:00:00 2001
From: Mark Spencer <markster@digium.com>
Date: Tue, 30 Oct 2001 14:44:25 +0000
Subject: [PATCH] Version 0.1.10 from FTP

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@379 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 BUGS                      | 4 ++++
 channels/chan_modem_i4l.c | 8 ++++----
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/BUGS b/BUGS
index 60e4dff49b..b1b07d7501 100755
--- a/BUGS
+++ b/BUGS
@@ -10,6 +10,10 @@
   three way call up, the parties in the three way cannot hear one another
   in the general case.
 
+* No auto-reload in chan_zap yet
+
+* Must be able to call park with flash-hook transfer
+
 ======================================================================
 Short report on the voicemail system
 ======================================================================
diff --git a/channels/chan_modem_i4l.c b/channels/chan_modem_i4l.c
index 5133a57c7b..511db64b11 100755
--- a/channels/chan_modem_i4l.c
+++ b/channels/chan_modem_i4l.c
@@ -58,7 +58,7 @@ static int i4l_setdev(struct ast_modem_pvt *p, int dev)
 		return -1;
 	}
 	ast_modem_trim(p->response);
-	strncpy(cmd, p->response, sizeof(cmd));
+	strncpy(cmd, p->response, sizeof(cmd)-1);
 	if (ast_modem_expect(p, "OK", 5)) {
 		ast_log(LOG_WARNING, "Modem did not respond properly\n");
 		return -1;
@@ -287,12 +287,12 @@ static struct ast_frame *i4l_read(struct ast_modem_pvt *p)
 				return i4l_handle_escape(p, 'b');
 			} else
 			if (!strncasecmp(result, "CALLER NUMBER: ", 15 )) {
-				strncpy(p->cid, result + 15, sizeof(p->cid));
+				strncpy(p->cid, result + 15, sizeof(p->cid)-1);
 				return i4l_handle_escape(p, 'R');
 			} else
 			if (!strncasecmp(result, "RING", 4)) {
 				if (result[4]=='/') 
-					strncpy(p->dnid, result + 4, sizeof(p->dnid));
+					strncpy(p->dnid, result + 4, sizeof(p->dnid)-1);
 				return i4l_handle_escape(p, 'R');
 			} else
 			if (!strcasecmp(result, "NO CARRIER")) {
@@ -439,7 +439,7 @@ static void i4l_decusecnt()
 
 static int i4l_answer(struct ast_modem_pvt *p)
 {
-	if (ast_modem_send(p, "ATA", 0) ||
+	if (ast_modem_send(p, "ATA\r", 4) ||
 	     ast_modem_expect(p, "VCON", 10)) {
 		ast_log(LOG_WARNING, "Unable to answer: %s", p->response);
 		return -1;
-- 
GitLab