[Ffmpeg-devel] [PATCH] faac free extradata in encode close

Baptiste Coudurier baptiste.coudurier
Fri Feb 16 12:54:00 CET 2007


Baptiste Coudurier wrote:
> Hi
> 
> M?ns Rullg?rd wrote:
>> Baptiste Coudurier <baptiste.coudurier at smartjog.com> writes:
>>
>>> Hi
>>>
>>> $subj.
>>>
>>> Assuming it should be freed in encode_close, since it has been allocated
>>> in encode init, another idea ?
>>>
>>> Index: libavcodec/faac.c
>>> ===================================================================
>>> --- libavcodec/faac.c	(revision 7983)
>>> +++ libavcodec/faac.c	(working copy)
>>> @@ -115,9 +115,8 @@
>>>      FaacAudioContext *s = avctx->priv_data;
>>>  
>>>      av_freep(&avctx->coded_frame);
>>> +    av_freep(&avctx->extradata);
>>>  
>>> -    //if (avctx->extradata_size) free(avctx->extradata);
>>> -
>>>      faacEncClose(s->faac_handle);
>>>      return 0;
>>>  }
>> This is wrong.  The buffer was returned from faacEncGetDecoderSpecificInfo(),
>> and we don't know how it was allocated.  Hopefully, faacEncClose()
>> does the required cleanup, but I wouldn't count on it.
>>
>> Have you observed a leak here?
>>
> 
> valgrind is your friend.
> 

==23423== 2 bytes in 1 blocks are definitely lost in loss record 1 of 4
==23423==    at 0x40244B0: malloc (vg_replace_malloc.c:149)
==23423==    by 0x422E0B3: faacEncGetDecoderSpecificInfo (in
/usr/lib/libfaac.so.0.0.0)
==23423==    by 0x8446959: Faac_encode_init (faac.c:82)

So ?

-- 
Baptiste COUDURIER                              GnuPG Key Id: 0x5C1ABAAA
SMARTJOG S.A.                                    http://www.smartjog.com
Key fingerprint                 8D77134D20CC9220201FC5DB0AC9325C5C1ABAAA
Phone: +33 1 49966312




More information about the ffmpeg-devel mailing list