summaryrefslogtreecommitdiff
path: root/libavformat/mov.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2021-02-06 18:22:55 +0100
committerMichael Niedermayer <michael@niedermayer.cc>2021-02-10 21:14:47 +0100
commitfec4a2d232d7ebf6d1084fb568d4d84844f25abc (patch)
treef85bc71ae82ba475f889d88bb906d18bf0f2ba2e /libavformat/mov.c
parent752f14ff942576dd8697320fb6ba055593a2de9d (diff)
avformat/mov: Support size = 1 and size = 0 special cases in probing
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavformat/mov.c')
-rw-r--r--libavformat/mov.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libavformat/mov.c b/libavformat/mov.c
index dfe9be40a9..c3aa114a78 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -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 */