Bug #5877
authorBJ Weschke <bweschke@btwtech.com>
Sat, 10 Dec 2005 18:05:00 +0000 (18:05 +0000)
committerBJ Weschke <bweschke@btwtech.com>
Sat, 10 Dec 2005 18:05:00 +0000 (18:05 +0000)
 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

index 16644ea..9aeadf5 100644 (file)
@@ -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;
                                        }