[asterisk-dev] [Code Review] 4160: chan_sip: Fix theoretical leak of p->refer

Corey Farrell reviewboard at asterisk.org
Wed Nov 12 14:28:19 CST 2014


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

(Updated Nov. 12, 2014, 3:28 p.m.)


Review request for Asterisk Developers.


Changes
-------

Make sip_refer_alloc destroy any previous p->refer.


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


Repository: Asterisk


Description
-------

If transmit_refer is called when p->refer is already allocated, it will leak the previous allocation.  I checked for all occurrences of sip_refer_alloc, found that transmit_refer was the only caller that didn't check p->refer first.  This change moves the check for !p->refer to sip_refer_alloc.

I made transmit_refer destroy any previous p->refer so it will have a clean structure after reallocation like it does currently.  Unsure if it's needed, but the little bit of extra processing is worth keeping this fix low risk.

The change is slightly different in 12+, as p->refer->refer_call only exists in 11.


Diffs (updated)
-----

  /branches/11/channels/chan_sip.c 427685 

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


Testing (updated)
-------

tests/channels/SIP against 11


Thanks,

Corey Farrell

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20141112/568f48ca/attachment-0001.html>


More information about the asterisk-dev mailing list