[FFmpeg-cvslog] mov: Fix parsing short loci

Michael Niedermayer git at videolan.org
Fri Jun 24 10:49:00 CEST 2016


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Sat May 16 13:51:18 2015 +0200| [f126365cdad6327e6def8ceb918eaf538fbb97b3] | committer: Martin Storsjö

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 at martin.st>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=f126365cdad6327e6def8ceb918eaf538fbb97b3
---

 libavformat/mov.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavformat/mov.c b/libavformat/mov.c
index fc57399..4d2b7b1 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);



More information about the ffmpeg-cvslog mailing list