[FFmpeg-devel] [PATCH] lavfi: avfilter_merge_formats: handle case where inputs are same.

Stefano Sabatini stefano.sabatini-lala at poste.it
Fri Jun 10 13:06:11 CEST 2011


On date Thursday 2011-06-09 12:11:00 +0300, Mina Nagy Zaki encoded:
> On Thursday 09 June 2011 12:37:18 Stefano Sabatini wrote:
> > On date Thursday 2011-06-09 11:10:09 +0300, Mina Nagy Zaki encoded:
> > > ---
> > > 
> > >  libavfilter/formats.c |    2 ++
> > >  1 files changed, 2 insertions(+), 0 deletions(-)
> > > 
> > > diff --git a/libavfilter/formats.c b/libavfilter/formats.c
> > > index ec7fca3..58593fc 100644
> > > --- a/libavfilter/formats.c
> > > +++ b/libavfilter/formats.c
> > > @@ -44,6 +44,8 @@ AVFilterFormats *avfilter_merge_formats(AVFilterFormats
> > > *a, AVFilterFormats *b)
> > > 
> > >      AVFilterFormats *ret;
> > >      unsigned i, j, k = 0;
> > > 
> > > +    if (a == b) return a;
> > > +
> > > 
> > >      ret = av_mallocz(sizeof(AVFilterFormats));
> > >      
> > >      /* merge list of formats */
> > 
> > Looks OK (I'd just add a note in the commit message that this is not
> > changing behavior, but just optimizing the case where the two merged
> > lists are the same one). I'll apply soon if I see no comments.
> 
> To be more clear, this actually fixes a double-free crash if lists are the same 
> due to the two merge_ref() calls at the end of the (useless) merging that 
> happens.

Pushed.
-- 
FFmpeg = Formidable and Fabulous Multimedia Perennial Exciting Game


More information about the ffmpeg-devel mailing list