diff --git a/channels/chan_zap.c b/channels/chan_zap.c index 16644eae38125af7e2fc914020e9eac5b2874817..9aeadf5916c27d9db11600db22e1bab8592d69b8 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; }