----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviewboard.asterisk.org/r/4160/#review13722 -----------------------------------------------------------
If I understand the purpose of p->refer correctly, it's supposed to be details relating to a specific REFER (or REFER-esque in some cases) transaction. I think that any in-dialog places where p->refer may be allocated, the previous p->refer should be freed. In addition to the transmit_refer() change you have, this would mean that handle_request_refer() and get_also_info() should free p->refer and then allocate a new one. Honestly, the best way to do this is perhaps to just have sip_refer_alloc() destroy the old p->refer and then allocate a new one. - Mark Michelson On Nov. 10, 2014, 6:25 a.m., Corey Farrell wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviewboard.asterisk.org/r/4160/ > ----------------------------------------------------------- > > (Updated Nov. 10, 2014, 6:25 a.m.) > > > Review request for Asterisk Developers. > > > 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 > ----- > > /branches/11/channels/chan_sip.c 427666 > > Diff: https://reviewboard.asterisk.org/r/4160/diff/ > > > Testing > ------- > > Compiled, visual inspection. > > > Thanks, > > Corey Farrell > >
-- _____________________________________________________________________ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- asterisk-dev mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-dev
