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@niedermayer.cc>
Signed-off-by: Zane van Iperen <zane@zanevaniperen.com>
This commit is contained in:
Zane van Iperen 2020-11-02 21:57:19 +10:00
parent bbba41704b
commit 5fb628521f
No known key found for this signature in database
GPG Key ID: 68616B2D8AC4DCC5
1 changed files with 3 additions and 0 deletions

View File

@ -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) {