[asterisk-dev] [Code Review] 3736: Media Formats: Fix crash bugs

Matt Jordan reviewboard at asterisk.org
Thu Jul 10 11:23:05 CDT 2014



> On July 10, 2014, 11 a.m., Corey Farrell wrote:
> > Have you done leak testing?  I suspect the change to __frame_free will result in leaks that will be reported by REF_DEBUG.
> 
> opticron wrote:
>     I have been watching for leaks here. There is nothing major that I see, but I have some further investigation to do.

This will definitely cause leaks. Easiest example is in ex_adpcm.h - frame is statically allocated and bumps the ref count to the format.

We either need to require static frames to bump the reference count to formats they use, or not. If not, then static frames have to have a *very* short lifetime (not all do). So I'm not sure we can get away with this.


- Matt


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


On July 10, 2014, 10:58 a.m., opticron wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/3736/
> -----------------------------------------------------------
> 
> (Updated July 10, 2014, 10:58 a.m.)
> 
> 
> Review request for Asterisk Developers, Corey Farrell, Joshua Colp, and Matt Jordan.
> 
> 
> Bugs: ASTERISK-23960
>     https://issues.asterisk.org/jira/browse/ASTERISK-23960
> 
> 
> Repository: Asterisk
> 
> 
> Description
> -------
> 
> This contains the fixes necessary to get a PJSIP call up and playing files from the Playback() application with a translation path in the mix.
> 
> * channel.c: The set format helper functions were not actually setting the newly chosen formats resulting in no audio.
> * frame.c: The format on the frame was being overzealously unreffed resulting in a crash.
> * sorcery.c: The codec retrieval code was using the wrong level of indirection for ast_format_cap structures resuting in a crash for "pjsip show endpoint x"
> * translate.c: The chosen codecs were being set backward on set vs native for what was actually desired causing incorrect codecs to be chosen.
> * res_pjsip_sdp_rtp.c: An ast_rtp_codecs struct was not being initialized properly causing a crash.
> 
> 
> Diffs
> -----
> 
>   team/group/media_formats-reviewed-trunk/res/res_pjsip_sdp_rtp.c 418253 
>   team/group/media_formats-reviewed-trunk/main/translate.c 418253 
>   team/group/media_formats-reviewed-trunk/main/sorcery.c 418253 
>   team/group/media_formats-reviewed-trunk/main/frame.c 418253 
>   team/group/media_formats-reviewed-trunk/main/channel.c 418253 
> 
> Diff: https://reviewboard.asterisk.org/r/3736/diff/
> 
> 
> Testing
> -------
> 
> Call testing.
> 
> 
> Thanks,
> 
> opticron
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20140710/045fca8d/attachment.html>


More information about the asterisk-dev mailing list