movdec: Check count of stts/ctts elements instead of just the pointer.
Fixes overreading the array Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
1b8741a684
commit
5880d78873
@ -1874,7 +1874,7 @@ static void mov_build_index(MOVContext *mov, AVStream *st)
|
|||||||
sc->empty_duration = av_rescale(sc->empty_duration, sc->time_scale, mov->time_scale);
|
sc->empty_duration = av_rescale(sc->empty_duration, sc->time_scale, mov->time_scale);
|
||||||
sc->time_offset = sc->start_time - sc->empty_duration;
|
sc->time_offset = sc->start_time - sc->empty_duration;
|
||||||
current_dts = -sc->time_offset;
|
current_dts = -sc->time_offset;
|
||||||
if (sc->ctts_data && sc->stts_data &&
|
if (sc->ctts_count>0 && sc->stts_count>0 &&
|
||||||
sc->ctts_data[0].duration / FFMAX(sc->stts_data[0].duration, 1) > 16) {
|
sc->ctts_data[0].duration / FFMAX(sc->stts_data[0].duration, 1) > 16) {
|
||||||
/* more than 16 frames delay, dts are likely wrong
|
/* more than 16 frames delay, dts are likely wrong
|
||||||
this happens with files created by iMovie */
|
this happens with files created by iMovie */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user