[FFmpeg-cvslog] avformat/argo_brp: bail if no video frames

Zane van Iperen git at videolan.org
Tue Nov 3 02:50:11 EET 2020


ffmpeg | branch: master | Zane van Iperen <zane at zanevaniperen.com> | Mon Nov  2 21:57:19 2020 +1000| [5fb628521faaf36cc284618db099d78c107ac6b5] | committer: Zane van Iperen

avformat/argo_brp: bail if no video frames

Fixes: Assertion failure
Fixes: 26572/clusterfuzz-testcase-minimized-ffmpeg_dem_ARGO_BRP_fuzzer-5166735591997440

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: Michael Niedermayer <michael at niedermayer.cc>
Signed-off-by: Zane van Iperen <zane at zanevaniperen.com>

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

 libavformat/argo_brp.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/libavformat/argo_brp.c b/libavformat/argo_brp.c
index fdc552af14..766d4fd261 100644
--- a/libavformat/argo_brp.c
+++ b/libavformat/argo_brp.c
@@ -218,6 +218,9 @@ static int argo_brp_read_header(AVFormatContext *s)
             bvid->height     = AV_RL32(buf +  8);
             bvid->depth      = AV_RL32(buf + 12);
 
+            if (bvid->num_frames == 0)
+                return AVERROR_INVALIDDATA;
+
             /* These are from 1990's games, sanity check this. */
             if (bvid->width >= 65536 || bvid->height >= 65536 ||
                 bvid->depth > 24     || bvid->depth % 8 != 0) {



More information about the ffmpeg-cvslog mailing list