diff options
author | mnicholson <mnicholson@f38db490-d61c-443f-a65b-d21fe96a405b> | 2010-09-16 20:04:46 +0000 |
---|---|---|
committer | mnicholson <mnicholson@f38db490-d61c-443f-a65b-d21fe96a405b> | 2010-09-16 20:04:46 +0000 |
commit | 91f2c6a4675ee3531e40bc6614249a4f1b393f55 (patch) | |
tree | 7a1141f6f0d1d0c37c043a8d45f66ad9d075cb39 | |
parent | 6ea74d9fcdea46f8330860b53cbe40708eef9634 (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.c | 4 |
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; |