From 8ef327b3f5f7fc440d782a03ab9b9c9b7c2a5f3f Mon Sep 17 00:00:00 2001
From: BJ Weschke <bweschke@btwtech.com>
Date: Sat, 10 Dec 2005 18:05:00 +0000
Subject: [PATCH]  Bug #5877  Make sure the digit string from E&M wink DNIS
 collection is properly null terminated as it grows.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7424 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 channels/chan_zap.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/channels/chan_zap.c b/channels/chan_zap.c
index 16644eae38..9aeadf5916 100644
--- a/channels/chan_zap.c
+++ b/channels/chan_zap.c
@@ -5269,6 +5269,7 @@ static void *ss_thread(void *data)
 				return NULL;
 			} else if (res) {
 				exten[len++] = res;
+				exten[len] = '\0';
 			} else
 				break;
 		}
@@ -5375,6 +5376,7 @@ static void *ss_thread(void *data)
 			default:
 				/* If we got the first digit, get the rest */
 				len = 1;
+				dtmfbuf[len] = '\0';
 				while((len < AST_MAX_EXTENSION-1) && ast_matchmore_extension(chan, chan->context, dtmfbuf, 1, p->cid_num)) {
 					if (ast_exists_extension(chan, chan->context, dtmfbuf, 1, p->cid_num)) {
 						timeout = matchdigittimeout;
@@ -5388,6 +5390,7 @@ static void *ss_thread(void *data)
 						return NULL;
 					} else if (res) {
 						dtmfbuf[len++] = res;
+						dtmfbuf[len] = '\0';
 					} else {
 						break;
 					}
-- 
GitLab