[asterisk-dev] [Code Review] 4302: bridge: channel ref leak after failed blond transfer

Scott Griepentrog reviewboard at asterisk.org
Fri Jan 2 10:46:04 CST 2015


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/4302/
-----------------------------------------------------------

(Updated Jan. 2, 2015, 10:46 a.m.)


Review request for Asterisk Developers.


Changes
-------

Moved unref of recall_target to state exit function to match existing state machine usage of the variable.  Documented variable usage.

Also found two cases of bridge_impart that would leak reference on failure.


Bugs: ASTERISK-24513
    https://issues.asterisk.org/jira/browse/ASTERISK-24513


Repository: Asterisk


Description (updated)
-------

After a blond transfer to a destination that then hangs up, the Local;1 channel would suffer a reference leak.  This was supposed to be fixed by review 4262, but that caused an extra unreference on nominal blond transfer (somehow missed that in testing).  This correction to the original problem reverts the prior change which had incorrectly mucked with moving the referenced transfer_target channel to recall_target in blond_nonfinal_enter(), and instead resolves the issue by insuring that the reference in recall_target is not lost by releasing it on blond_final_exit() before it is later replaced by an answered recall dial.


Diffs (updated)
-----

  /branches/13/main/bridge_basic.c 430163 

Diff: https://reviewboard.asterisk.org/r/4302/diff/


Testing
-------

Both the blond_nominal and atxfer_fail_blond (r/4256) tests pass without error.


Thanks,

Scott Griepentrog

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20150102/600bd28e/attachment.html>


More information about the asterisk-dev mailing list