[svn-commits] mmichelson: branch group/CCSS r221699 - /team/group/CCSS/main/ccss.c

SVN commits to the Digium repositories svn-commits at lists.digium.com
Thu Oct 1 14:36:02 CDT 2009


Author: mmichelson
Date: Thu Oct  1 14:35:59 2009
New Revision: 221699

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=221699
Log:
Since the operations on the dialed_cc_interfaces
datastore have been moved out of app_dial, it means
that we need to provide extra protection in case somebody
attempts to do silly things.


Modified:
    team/group/CCSS/main/ccss.c

Modified: team/group/CCSS/main/ccss.c
URL: http://svnview.digium.com/svn/asterisk/team/group/CCSS/main/ccss.c?view=diff&rev=221699&r1=221698&r2=221699
==============================================================================
--- team/group/CCSS/main/ccss.c (original)
+++ team/group/CCSS/main/ccss.c Thu Oct  1 14:35:59 2009
@@ -807,6 +807,10 @@
 
 	cc_interfaces = cc_datastore->data;
 
+	if (cc_interfaces->done) {
+		return;
+	}
+
 	/* Yeah this kind of sucks, but luckily most people
 	 * aren't dialing thousands of interfaces on every call
 	 *
@@ -849,10 +853,14 @@
 
 	cc_interfaces = cc_datastore->data;
 
-	if (cc_interfaces->nested_dial) {
+	if (cc_interfaces->nested_dial || cc_interfaces->done) {
 		/* Abort. Nested dials have no place trying
 		 * to create an instance of the core. Leave this
 		 * for the topmost Dial.
+		 *
+		 * Similarly, if the done field is non-zero, this means
+		 * that the channel should not be allowed to create
+		 * an instance of the core either.
 		 */
 		return 0;
 	}




More information about the svn-commits mailing list