[FFmpeg-devel] [PATCH] avformat/mxfdec: Check index_duration

Tomas Härdin git at haerdin.se
Wed Dec 28 00:35:00 EET 2022


tis 2022-12-27 klockan 22:49 +0100 skrev Michael Niedermayer:
> On Tue, Dec 27, 2022 at 07:05:44PM +0100, Marton Balint wrote:
> > 
> > 
> > On Mon, 26 Dec 2022, Michael Niedermayer wrote:
> > 
> > > On Mon, Dec 26, 2022 at 11:32:48AM +0100, Tomas Härdin wrote:
> > > > lör 2022-12-24 klockan 23:50 +0100 skrev Michael Niedermayer:
> > > > > 
> > > > >          index_table->nb_ptses += s->index_duration;
> > > > > +        // If index_duration is substantially larger than
> > > > > nb_index_entries then this algorithm which
> > > > > +        // allocates index_duration elements is a bad idea.
> > > > > All
> > > > > files i tried have it equal
> > > > > +        if (s->index_duration > 10LL * s->nb_index_entries)
> > > > > +            return AVERROR_PATCHWELCOME;
> > > > 
> > > > I was going to say this can overflow but the 10LL ensures it
> > > > can't. So
> > > > looks OK.
> > > 
> > > will apply
> > 
> > Please don't, as far as I see this disallows the usage of partial
> > index
> > tables, so practically rejecting valid files, which is not OK.

Damn, not sure how I missed that. The use of the magic constant 10
should have tipped me off.

> 
> can you share a file that would break ?

mxfenc will produce files like that. It's actually a major deficiency
with the muxer since it produces excessive amounts of partitions.

/Tomas



More information about the ffmpeg-devel mailing list