diff options
author | Michael Niedermayer <michael@niedermayer.cc> | 2021-02-06 18:22:55 +0100 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2021-02-10 21:14:47 +0100 |
commit | fec4a2d232d7ebf6d1084fb568d4d84844f25abc (patch) | |
tree | f85bc71ae82ba475f889d88bb906d18bf0f2ba2e /libavformat/mov.c | |
parent | 752f14ff942576dd8697320fb6ba055593a2de9d (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.c | 5 |
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 */ |