summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2015-05-16 13:51:18 +0200
committerMartin Storsjö <martin@martin.st>2016-05-19 10:46:51 +0300
commitf126365cdad6327e6def8ceb918eaf538fbb97b3 (patch)
treea64ce0f43631b8d0676388e34e192a8c68ec8524
parent704d2bd18be8f134cb9ab19463a3c4eb63233dbd (diff)
mov: Fix parsing short loci
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ö <martin@martin.st>
-rw-r--r--libavformat/mov.c4
1 files 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);