From f31d1d9cdc1fe1c9fcb13c92525ccf65417cec7c Mon Sep 17 00:00:00 2001
From: Matthew Nicholson <mnicholson@digium.com>
Date: Thu, 16 Sep 2010 20:08:51 +0000
Subject: [PATCH] Merged revisions 287120 via svnmerge from
 https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r287120 | mnicholson | 2010-09-16 15:07:38 -0500 (Thu, 16 Sep 2010) | 22 lines

  Merged revisions 287119 via svnmerge from
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2

  ................
    r287119 | mnicholson | 2010-09-16 15:06:16 -0500 (Thu, 16 Sep 2010) | 15 lines

    Merged revisions 287118 via svnmerge from
    https://origsvn.digium.com/svn/asterisk/branches/1.4

    ........
      r287118 | mnicholson | 2010-09-16 15:04:46 -0500 (Thu, 16 Sep 2010) | 8 lines

      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: https://origsvn.digium.com/svn/asterisk/trunk@287121 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 main/pbx.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/main/pbx.c b/main/pbx.c
index 8e20f8686a..546cc8fca4 100644
--- a/main/pbx.c
+++ b/main/pbx.c
@@ -4225,12 +4225,10 @@ static int handle_statechange(void *datap)
 
 	AST_RWLIST_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, sc->dev)) {
 				break;
-- 
GitLab