]> git.sesse.net Git - ffmpeg/commitdiff
avformat/mov: Support size = 1 and size = 0 special cases in probing
authorMichael Niedermayer <michael@niedermayer.cc>
Sat, 6 Feb 2021 17:22:55 +0000 (18:22 +0100)
committerMichael Niedermayer <michael@niedermayer.cc>
Wed, 10 Feb 2021 20:14:47 +0000 (21:14 +0100)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavformat/mov.c

index dfe9be40a9be4932e037fe7e60d978d15f04b954..c3aa114a789c39058f69a656006772b16a6657df 100644 (file)
@@ -7117,6 +7117,11 @@ static int mov_probe(const AVProbeData *p)
         if ((offset + 8) > (unsigned int)p->buf_size)
             break;
         size = AV_RB32(p->buf + offset);
+        if (size == 1 && offset + 16 > (unsigned int)p->buf_size) {
+            size = AV_RB64(p->buf+offset + 8);
+        } else if (size == 0) {
+            size = p->buf_size - offset;
+        }
         tag = AV_RL32(p->buf + offset + 4);
         switch(tag) {
         /* check for obvious tags */