]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
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 16644eae38125af7e2fc914020e9eac5b2874817..9aeadf5916c27d9db11600db22e1bab8592d69b8 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;
                                        }