[svn-commits] russell: branch 1.4 r58165 - in /branches/1.4: ./
main/manager.c
svn-commits at lists.digium.com
svn-commits at lists.digium.com
Tue Mar 6 17:25:20 MST 2007
Author: russell
Date: Tue Mar 6 18:25:19 2007
New Revision: 58165
URL: http://svn.digium.com/view/asterisk?view=rev&rev=58165
Log:
Merged revisions 58164 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r58164 | russell | 2007-03-06 18:20:13 -0600 (Tue, 06 Mar 2007) | 4 lines
If the channels acquired using the manager Redirect action are not up, then
don't attempt to do anything with them. It could lead to weird behavior,
including crashes. (issue #8977)
........
Modified:
branches/1.4/ (props changed)
branches/1.4/main/manager.c
Propchange: branches/1.4/
------------------------------------------------------------------------------
Binary property 'branch-1.2-merged' - no diff available.
Modified: branches/1.4/main/manager.c
URL: http://svn.digium.com/view/asterisk/branches/1.4/main/manager.c?view=diff&rev=58165&r1=58164&r2=58165
==============================================================================
--- branches/1.4/main/manager.c (original)
+++ branches/1.4/main/manager.c Tue Mar 6 18:25:19 2007
@@ -1558,8 +1558,19 @@
astman_send_error(s, m, buf);
return 0;
}
+ if (chan->_state != AST_STATE_UP) {
+ astman_send_error(s, m, "Redirect failed, channel not up.\n");
+ ast_channel_unlock(chan);
+ return 0;
+ }
if (!ast_strlen_zero(name2))
chan2 = ast_get_channel_by_name_locked(name2);
+ if (chan2 && chan2->_state != AST_STATE_UP) {
+ astman_send_error(s, m, "Redirect failed, extra channel not up.\n");
+ ast_channel_unlock(chan);
+ ast_channel_unlock(chan2);
+ return 0;
+ }
res = ast_async_goto(chan, context, exten, pi);
if (!res) {
if (!ast_strlen_zero(name2)) {
More information about the svn-commits
mailing list