avformat/mov: Check size of STSC allocation
authorFredrik Hubinette <hubbe@google.com>
Thu, 16 Nov 2017 01:24:30 +0000 (17:24 -0800)
committerMichael Niedermayer <michael@niedermayer.cc>
Mon, 8 Jan 2018 22:19:14 +0000 (23:19 +0100)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit a6fdd75fe6440d2f4150cb456a9078aa68b00fdb)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavformat/mov.c

index b97aa00..7547c78 100644 (file)
@@ -2390,6 +2390,8 @@ static int mov_read_stsc(MOVContext *c, AVIOContext *pb, MOVAtom atom)
     avio_rb24(pb); /* flags */
 
     entries = avio_rb32(pb);
+    if ((uint64_t)entries * 12 + 4 > atom.size)
+        return AVERROR_INVALIDDATA;
 
     av_log(c->fc, AV_LOG_TRACE, "track[%i].stsc.entries = %i\n", c->fc->nb_streams-1, entries);