From b2410aca493cc25b7f90902e77a40c875fabcbe6 Mon Sep 17 00:00:00 2001 From: russell Date: Tue, 2 Nov 2004 12:56:15 +0000 Subject: prevent seg fault with attempt_transfer (bug #2741) git-svn-id: http://svn.digium.com/svn/asterisk/branches/v1-0@4146 f38db490-d61c-443f-a65b-d21fe96a405b --- res/res_features.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'res/res_features.c') diff --git a/res/res_features.c b/res/res_features.c index b2fd1a866..409e04763 100755 --- a/res/res_features.c +++ b/res/res_features.c @@ -302,6 +302,12 @@ int ast_bridge_call(struct ast_channel *chan,struct ast_channel *peer,struct ast 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 @@ int ast_bridge_call(struct ast_channel *chan,struct ast_channel *peer,struct ast } /* 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) { -- cgit v1.2.3