OSDN Git Service

move atom size check before parsing function search
authorBaptiste Coudurier <baptiste.coudurier@gmail.com>
Thu, 29 Mar 2007 10:45:34 +0000 (10:45 +0000)
committerBaptiste Coudurier <baptiste.coudurier@gmail.com>
Thu, 29 Mar 2007 10:45:34 +0000 (10:45 +0000)
Originally committed as revision 8546 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavformat/mov.c

index cbd0f76..e9b5775 100644 (file)
@@ -244,15 +244,14 @@ static int mov_read_default(MOVContext *c, ByteIOContext *pb, MOV_atom_t atom)
             if (a.size <= 8)
                 break;
         }
-        for (i = 0; c->parse_table[i].type != 0L
-             && c->parse_table[i].type != a.type; i++)
-            /* empty */;
-
         a.size -= 8;
-
         if(a.size < 0 || a.size > atom.size - total_size)
             break;
 
+        for (i = 0; c->parse_table[i].type != 0L
+             && c->parse_table[i].type != a.type; i++)
+            /* empty */;
+
         if (c->parse_table[i].type == 0) { /* skip leaf atoms data */
             url_fskip(pb, a.size);
         } else {