[FFmpeg-devel] [PATCH] Extradata memleak in libx264.c

Måns Rullgård mans
Mon Oct 13 14:13:52 CEST 2008


Benoit Fouet wrote:
> Ralf Terdic wrote:
>> On Thursday 02 October 2008 15:22:09 Ralf Terdic wrote:
>>
>>> On Thursday 02 October 2008 14:21:00 Benoit Fouet wrote:
>>>
>>>> Ralf Terdic wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> In libx264.c, at the bottom of X264_init, avctx->extradata is
>>>>> allocated, but it's never freed. If the codec is repeatedly opened and
>>>>> closed, then the resulting leak is quite considerable.
>>>>>
>>>>> Please review and apply the attached fix.
>>>>>
>>>>> Thanks,
>>>>> Ralf
>>>>>
>>>>> -----------------------------------------------------------------------
>>>>> -
>>>>>
>>>>> Index: libavcodec/libx264.c
>>>>> ===================================================================
>>>>> --- libavcodec/libx264.c  (revision 15509)
>>>>> +++ libavcodec/libx264.c  (working copy)
>>>>> @@ -122,6 +122,10 @@
>>>>>  static av_cold int
>>>>>  X264_close(AVCodecContext *avctx)
>>>>>  {
>>>>> +    if(avctx->flags & CODEC_FLAG_GLOBAL_HEADER){
>>>>> +        av_freep(&avctx->extradata);
>>>>> +    }
>>>>> +
>>>>>      X264Context *x4 = avctx->priv_data;
>>>>>
>>>> you should put the av_freep (without the if) below the declaration...
>>>>
>>> Okay, thanks. See corrected patch.
>>>
>>
>> Would anybody please apply this patch? This memleak is quite annoying.
>
> M?ns ?

Fine by me.  Am I still listed as maintainer for that file?  As I've said
before, anyone who actually uses it is welcome to take over.

-- 
M?ns Rullg?rd
mans at mansr.com




More information about the ffmpeg-devel mailing list