Bug #5877
Make sure the digit string from E&M wink DNIS collection is properly null terminated as it grows. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@7424 f38db490-d61c-443f-a65b-d21fe96a405b
This commit is contained in:
parent
8bc4a439be
commit
5d400b777b
|
@ -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;
|
||||
}
|
||||
|
|
Reference in New Issue