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
1.4
BJ Weschke 20 years ago
parent 7dfa72cdee
commit 8ef327b3f5

@ -5269,6 +5269,7 @@ static void *ss_thread(void *data)
return NULL; return NULL;
} else if (res) { } else if (res) {
exten[len++] = res; exten[len++] = res;
exten[len] = '\0';
} else } else
break; break;
} }
@ -5375,6 +5376,7 @@ static void *ss_thread(void *data)
default: default:
/* If we got the first digit, get the rest */ /* If we got the first digit, get the rest */
len = 1; len = 1;
dtmfbuf[len] = '\0';
while((len < AST_MAX_EXTENSION-1) && ast_matchmore_extension(chan, chan->context, dtmfbuf, 1, p->cid_num)) { 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)) { if (ast_exists_extension(chan, chan->context, dtmfbuf, 1, p->cid_num)) {
timeout = matchdigittimeout; timeout = matchdigittimeout;
@ -5388,6 +5390,7 @@ static void *ss_thread(void *data)
return NULL; return NULL;
} else if (res) { } else if (res) {
dtmfbuf[len++] = res; dtmfbuf[len++] = res;
dtmfbuf[len] = '\0';
} else { } else {
break; break;
} }

Loading…
Cancel
Save