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

Ralf Terdic contact
Thu Oct 2 15:22:09 CEST 2008


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.

Ralf
-------------- next part --------------
A non-text attachment was scrubbed...
Name: libx264_extradata_leak.diff
Type: text/x-diff
Size: 337 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20081002/ad2edfa8/attachment.diff>



More information about the ffmpeg-devel mailing list