[Asterisk-cvs] asterisk/res res_features.c,1.16,1.16.2.1

russell at lists.digium.com russell at lists.digium.com
Tue Nov 2 07:53:45 CST 2004


Update of /usr/cvsroot/asterisk/res
In directory mongoose.digium.com:/tmp/cvs-serv27455/res

Modified Files:
      Tag: v1-0
	res_features.c 
Log Message:
prevent seg fault with attempt_transfer (bug #2741)


Index: res_features.c
===================================================================
RCS file: /usr/cvsroot/asterisk/res/res_features.c,v
retrieving revision 1.16
retrieving revision 1.16.2.1
diff -u -d -r1.16 -r1.16.2.1
--- res_features.c	26 Sep 2004 20:47:01 -0000	1.16
+++ res_features.c	2 Nov 2004 12:56:15 -0000	1.16.2.1
@@ -302,6 +302,12 @@
 	int allowdisconnect_in,allowdisconnect_out,allowredirect_in,allowredirect_out;
 	char *monitor_exec;
 
+	if (chan && peer) {
+		pbx_builtin_setvar_helper(chan, "BRIDGEPEER", peer->name);
+		pbx_builtin_setvar_helper(peer, "BRIDGEPEER", chan->name);
+	} else if (chan)
+		pbx_builtin_setvar_helper(chan, "BLINDTRANSFER", NULL);
+
 	if (monitor_ok) {
 		if (!monitor_app) { 
 			if (!(monitor_app = pbx_findapp("Monitor")))
@@ -480,6 +486,8 @@
 					}
 					/* XXX Maybe we should have another message here instead of invalid extension XXX */
 				} else if (ast_exists_extension(transferee, transferer_real_context, newext, 1, transferer->callerid)) {
+					pbx_builtin_setvar_helper(peer, "BLINDTRANSFER", chan->name);
+					pbx_builtin_setvar_helper(chan, "BLINDTRANSFER", peer->name);
 					ast_moh_stop(transferee);
 					res=ast_autoservice_stop(transferee);
 					if (!transferee->pbx) {




More information about the svn-commits mailing list