[FFmpeg-devel] [PATCH 4/4] lavf/mov: Add support for edit list parsing.

Michael Niedermayer michael at niedermayer.cc
Sun Sep 18 23:53:23 EEST 2016


On Sat, Sep 17, 2016 at 03:14:24PM -0700, Sasi Inguva wrote:
[...]
> > [...]
> > > @@ -2756,6 +2757,343 @@ static int mov_read_sbgp(MOVContext *c,
> > AVIOContext *pb, MOVAtom atom)
> > >      return pb->eof_reached ? AVERROR_EOF : 0;
> > >  }
> > >
> > > +/**
> > > + * Get ith edit list entry (media time, duration).
> > > + */
> > > +static int get_edit_list_entry(const MOVStreamContext *msc,
> > > +                               unsigned int edit_list_index,
> > > +                               int64_t *edit_list_media_time,
> > > +                               int64_t *edit_list_duration,
> > > +                               int64_t global_timescale)
> > > +{
> > > +    if (edit_list_index == msc->elst_count) {
> > > +        return 0;
> > > +    }
> > > +    *edit_list_media_time = msc->elst_data[edit_list_index].time;
> > > +    *edit_list_duration = msc->elst_data[edit_list_index].duration;
> > > +    /* duration is in global timescale units;convert to msc timescale */
> > > +    *edit_list_duration = av_rescale(*edit_list_duration,
> > msc->time_scale,
> > > +                                     global_timescale);
> >
> > global_timescale can be 0 here leading to division by 0
> >
> 
> Added an assert for global_timescale > 0

thats no solution, aborting on random input is not correct

simply trying
zzuf -cs1:100 ./ffmpeg -i mov_edl_kf_fix_1.mp4 -f null -

triggers the assert at
Assertion global_timescale > 0 failed at libavformat/mov.c:2777
zzuf[s=34,r=0.004]: signal 6 (SIGABRT)

[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Avoid a single point of failure, be that a person or equipment.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20160918/66e7d657/attachment.sig>


More information about the ffmpeg-devel mailing list