Summary:ASTERISK-15242: transmit_refer leaks sip_refer structures
Reporter:David Woolley (davidw)Labels:
Date Opened:2009-11-30 11:40:00.000-0600Date Closed:2014-11-17 09:58:32.000-0600
Versions:SVN 11.13.1 12.6.1 13.0.0 Frequency of
Description:transmit_refer is used to implement the sip_transfer function on Up calls.  It calls sip_refer_allocate without checking to see if there is already a p->refer structure.

Transfers can fail, so this can happen several times in a call.

The only time that this structure is released is when the SIP private structure is destroyed.


Identified by code reading only and initially on, whilst working on ASTERISK-15145, but also present in the current trunk version.

This is on my list for ASTERISK-15145, but we may yet abandon it, so I am recording it as as separate issue. (Also the fix may be obvious to someone who knows the code - my slight concern at the moment is that something may be assuming a clean structure.
Comments:By: Corey Farrell (coreyfarrell) 2014-11-10 00:25:19.792-0600

It looks like this leak is possible, so I've posted a patch to [review board|https://reviewboard.asterisk.org/r/4160/].