diff mbox series

[FFmpeg-devel,2/4] avformat/mov: Check if hoov is at the end

Message ID 20201025230059.16740-2-michael@niedermayer.cc
State Accepted
Commit 0afbaabdca2730d3f8d88719d64802d50b92d351
Headers show
Series [FFmpeg-devel,1/4] avcodec/av1dec: Check for unset obu instead of crashing | expand

Checks

Context Check Description
andriy/x86_make success Make finished
andriy/x86_make_fate success Make fate finished

Commit Message

Michael Niedermayer Oct. 25, 2020, 11 p.m. UTC
Fixes: Timeout, probably infinite loop
Fixes: 26559/clusterfuzz-testcase-minimized-ffmpeg_dem_MOV_fuzzer-5391165484171264

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
---
 libavformat/mov.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Michael Niedermayer Dec. 19, 2020, 7:08 p.m. UTC | #1
On Mon, Oct 26, 2020 at 12:00:57AM +0100, Michael Niedermayer wrote:
> Fixes: Timeout, probably infinite loop
> Fixes: 26559/clusterfuzz-testcase-minimized-ffmpeg_dem_MOV_fuzzer-5391165484171264
> 
> Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
> ---
>  libavformat/mov.c | 2 ++
>  1 file changed, 2 insertions(+)

will apply

[...]
diff mbox series

Patch

diff --git a/libavformat/mov.c b/libavformat/mov.c
index 7fd43a8fc5..6b0a595504 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -6968,6 +6968,8 @@  static int mov_read_default(MOVContext *c, AVIOContext *pb, MOVAtom atom)
                 uint32_t type;
                 avio_skip(pb, 4);
                 type = avio_rl32(pb);
+                if (avio_feof(pb))
+                    break;
                 avio_seek(pb, -8, SEEK_CUR);
                 if (type == MKTAG('m','v','h','d') ||
                     type == MKTAG('c','m','o','v')) {