From 44e43aab036595a8f6d78c9306864d00f35ebbb1 Mon Sep 17 00:00:00 2001 From: Baptiste Coudurier Date: Sun, 30 Mar 2008 20:49:29 +0000 Subject: [PATCH] check frag track id before setting st Originally committed as revision 12634 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavformat/mov.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/libavformat/mov.c b/libavformat/mov.c index a19e97093..0c232e6de 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -1442,14 +1442,18 @@ static int mov_read_trex(MOVContext *c, ByteIOContext *pb, MOV_atom_t atom) static int mov_read_trun(MOVContext *c, ByteIOContext *pb, MOV_atom_t atom) { MOVFragment *frag = &c->fragment; - AVStream *st = c->fc->streams[frag->track_id-1]; - MOVStreamContext *sc = st->priv_data; + AVStream *st; + MOVStreamContext *sc; uint64_t offset; int64_t dts; int data_offset = 0; unsigned entries, first_sample_flags = frag->flags; int flags, distance, i; + if (!frag->track_id || frag->track_id > c->fc->nb_streams) + return -1; + st = c->fc->streams[frag->track_id-1]; + sc = st->priv_data; if (sc->pseudo_stream_id+1 != frag->stsd_id) return 0; if (!st->nb_index_entries) -- 2.11.0