From f126365cdad6327e6def8ceb918eaf538fbb97b3 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sat, 16 May 2015 13:51:18 +0200 Subject: mov: Fix parsing short loci MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Previously, we required the minimum number of bytes required for the full box. Don't strictly require the astronomical body and additional notes fields, but do require an altitude field (which currently isn't parsed). This matches the initial length check at the start of the function (which doesn't know about the variable length place field). Signed-off-by: Martin Storsjö --- libavformat/mov.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavformat/mov.c b/libavformat/mov.c index fc57399b9b..4d2b7b1740 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -244,9 +244,9 @@ static int mov_metadata_loci(MOVContext *c, AVIOContext *pb, unsigned len) avio_skip(pb, 1); // role len -= 1; - if (len < 14) { + if (len < 12) { av_log(c->fc, AV_LOG_ERROR, - "loci too short (%u bytes left, need at least %d)\n", len, 14); + "loci too short (%u bytes left, need at least %d)\n", len, 12); return AVERROR_INVALIDDATA; } longitude = ((int32_t) avio_rb32(pb)) / (float) (1 << 16); -- cgit v1.2.3