Check dref size based on a patch by google
authorBaptiste Coudurier <baptiste.coudurier@gmail.com>
Wed, 8 Sep 2010 20:20:24 +0000 (20:20 +0000)
committerBaptiste Coudurier <baptiste.coudurier@gmail.com>
Wed, 8 Sep 2010 20:20:24 +0000 (20:20 +0000)
Originally committed as revision 25081 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavformat/mov.c

index 1657c2a..fdf2970 100644 (file)
@@ -345,6 +345,9 @@ static int mov_read_dref(MOVContext *c, ByteIOContext *pb, MOVAtom atom)
         uint32_t size = get_be32(pb);
         int64_t next = url_ftell(pb) + size - 4;
 
+        if (size < 12)
+            return -1;
+
         dref->type = get_le32(pb);
         get_be32(pb); // version + flags
         dprintf(c->fc, "type %.4s size %d\n", (char*)&dref->type, size);