diff --git a/libavformat/mov.c b/libavformat/mov.c index ce8afbca77..83dcdf0ec7 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -250,7 +250,7 @@ static int mov_read_default(MOVContext *c, ByteIOContext *pb, MOV_atom_t atom) a.size -= 8; - if(a.size < 0) + if(a.size < 0 || a.size > atom.size - total_size) break; if (c->parse_table[i].type == 0) { /* skip leaf atoms data */