mirror of https://git.ffmpeg.org/ffmpeg.git
avformat/mov: Check av_add_index_entry() return value
Fixes NULL pointer dereference Fixes: signal_sigsegv_b060e0_3794_cov_1293954059_vc1-wmapro.ism Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
03616af2c9
commit
4d1b017c38
|
@ -3218,9 +3218,12 @@ static int mov_read_trun(MOVContext *c, AVIOContext *pb, MOVAtom atom)
|
||||||
MOV_FRAG_SAMPLE_FLAG_DEPENDS_YES));
|
MOV_FRAG_SAMPLE_FLAG_DEPENDS_YES));
|
||||||
if (keyframe)
|
if (keyframe)
|
||||||
distance = 0;
|
distance = 0;
|
||||||
av_add_index_entry(st, offset, INT64_MAX/2, sample_size, distance,
|
err = av_add_index_entry(st, offset, INT64_MAX/2, sample_size, distance,
|
||||||
keyframe ? AVINDEX_KEYFRAME : 0);
|
keyframe ? AVINDEX_KEYFRAME : 0);
|
||||||
st->index_entries[st->nb_index_entries - 1].timestamp = cts;
|
if (err < 0) {
|
||||||
|
av_log(c->fc, AV_LOG_ERROR, "Failed to add index entry\n");
|
||||||
|
} else
|
||||||
|
st->index_entries[st->nb_index_entries - 1].timestamp = cts;
|
||||||
av_dlog(c->fc, "AVIndex stream %d, sample %d, offset %"PRIx64", cts %"PRId64", "
|
av_dlog(c->fc, "AVIndex stream %d, sample %d, offset %"PRIx64", cts %"PRId64", "
|
||||||
"size %d, distance %d, keyframe %d\n", st->index, sc->sample_count+i,
|
"size %d, distance %d, keyframe %d\n", st->index, sc->sample_count+i,
|
||||||
offset, cts, sample_size, distance, keyframe);
|
offset, cts, sample_size, distance, keyframe);
|
||||||
|
|
Loading…
Reference in New Issue