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

Ralf Terdic contact
Fri Oct 10 19:51:05 CEST 2008


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.

Ralf






More information about the ffmpeg-devel mailing list