[asterisk-commits] kmoore: branch 1.8 r414813 - /branches/1.8/main/pbx.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Thu May 29 10:56:04 CDT 2014


Author: kmoore
Date: Thu May 29 10:55:59 2014
New Revision: 414813

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=414813
Log:
PBX: Prevent incorrect hint parsing

Dynamic and pattern matching hints should not be checked for their last
known state until they are instantiated by subscribers.

AFS-56 #close #comment Reported by: John Hardin
AFS-56 #comment Patch AFS-56-pbx.diff submitted by Matt Jordan (license 6283)

Modified:
    branches/1.8/main/pbx.c

Modified: branches/1.8/main/pbx.c
URL: http://svnview.digium.com/svn/asterisk/branches/1.8/main/pbx.c?view=diff&rev=414813&r1=414812&r2=414813
==============================================================================
--- branches/1.8/main/pbx.c (original)
+++ branches/1.8/main/pbx.c Thu May 29 10:55:59 2014
@@ -5247,7 +5247,11 @@
 		return -1;
 	}
 	hint_new->exten = e;
-	hint_new->laststate = ast_extension_state2(e);
+	if (strstr(e->app, "${") && e->exten[0] == '_') {
+		hint_new->laststate = AST_DEVICE_INVALID;
+	} else {
+		hint_new->laststate = ast_extension_state2(e);
+	}
 
 	/* Prevent multiple add hints from adding the same hint at the same time. */
 	ao2_lock(hints);
@@ -6867,7 +6871,11 @@
 		struct ast_exten *e;
 		struct ast_include *i;
 		struct ast_ignorepat *ip;
+#ifndef LOW_MEMORY
+		char buf[1024], buf2[1024];
+#else
 		char buf[256], buf2[256];
+#endif
 		int context_info_printed = 0;
 
 		if (context && strcmp(ast_get_context_name(c), context))




More information about the asterisk-commits mailing list