aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormnicholson <mnicholson@f38db490-d61c-443f-a65b-d21fe96a405b>2010-09-16 20:04:46 +0000
committermnicholson <mnicholson@f38db490-d61c-443f-a65b-d21fe96a405b>2010-09-16 20:04:46 +0000
commit91f2c6a4675ee3531e40bc6614249a4f1b393f55 (patch)
tree7a1141f6f0d1d0c37c043a8d45f66ad9d075cb39
parent6ea74d9fcdea46f8330860b53cbe40708eef9634 (diff)
Don't limit hint processing in ast_hint_state_changed() to AST_MAX_EXTENSION length strings.
(closes issue #17928) Reported by: mdu113 Patches: 20100831__issue17928.diff.txt uploaded by tilghman (license 14) Tested by: mdu113 git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@287118 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r--main/pbx.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/main/pbx.c b/main/pbx.c
index e88bdb879..67d4ac71a 100644
--- a/main/pbx.c
+++ b/main/pbx.c
@@ -2017,12 +2017,10 @@ void ast_hint_state_changed(const char *device)
AST_LIST_TRAVERSE(&hints, hint, list) {
struct ast_state_cb *cblist;
- char buf[AST_MAX_EXTENSION];
- char *parse = buf;
+ char *parse = ast_strdupa(ast_get_extension_app(hint->exten));
char *cur;
int state;
- ast_copy_string(buf, ast_get_extension_app(hint->exten), sizeof(buf));
while ( (cur = strsep(&parse, "&")) ) {
if (!strcasecmp(cur, device))
break;