Author: sgriepentrog Date: Fri Dec 19 11:27:25 2014 New Revision: 429828 URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=429828 Log: bridge: avoid leaking channel during blond transfer
After a blond transfer (start attended and hang up) to a destination that also hangs up without answer, the Local;1 channel was leaked and would show up on core show channels. This was happening because the attended state blond_nonfinal_enter() resetting the props->transfer_target to null while releasing it's own reference, which would later prevent props from releasing another reference during destruction. The change made here is simply to not assign the target to NULL. ASTERISK-24513 #close Reported by: Mark Michelson Review: https://reviewboard.asterisk.org/r/4262/ ........ Merged revisions 429826 from http://svn.asterisk.org/svn/asterisk/branches/12 ........ Merged revisions 429827 from http://svn.asterisk.org/svn/asterisk/branches/13 Modified: trunk/ (props changed) trunk/main/bridge_basic.c Propchange: trunk/ ------------------------------------------------------------------------------ Binary property 'branch-13-merged' - no diff available. Modified: trunk/main/bridge_basic.c URL: http://svnview.digium.com/svn/asterisk/trunk/main/bridge_basic.c?view=diff&rev=429828&r1=429827&r2=429828 ============================================================================== --- trunk/main/bridge_basic.c (original) +++ trunk/main/bridge_basic.c Fri Dec 19 11:27:25 2014 @@ -2263,7 +2263,8 @@ props->superstate = SUPERSTATE_RECALL; props->recall_target = ast_channel_ref(props->transfer_target); res = blond_enter(props); - props->transfer_target = ast_channel_unref(props->transfer_target); + /* transfer properties holds a separate reference to transfer_target, don't set it to NULL here */ + ast_channel_unref(props->transfer_target); return res; } -- _____________________________________________________________________ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- svn-commits mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/svn-commits
