diff --git a/libavformat/mov.c b/libavformat/mov.c index 9291195a8f..d551a0f8e0 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -5023,6 +5023,7 @@ static int mov_read_keys(MOVContext *c, AVIOContext *pb, MOVAtom atom) avio_skip(pb, 4); count = avio_rb32(pb); + atom.size -= 8; if (count > UINT_MAX / sizeof(*c->meta_keys) - 1) { av_log(c->fc, AV_LOG_ERROR, "The 'keys' atom with the invalid key count: %"PRIu32"\n", count);