[FFmpeg-cvslog] avformat/argo_brp: remove block_align check for audio
Zane van Iperen
git at videolan.org
Thu Nov 5 00:03:45 EET 2020
ffmpeg | branch: master | Zane van Iperen <zane at zanevaniperen.com> | Tue Nov 3 23:41:53 2020 +1000| [769ab6b86421aab3936bcef3fe1813875c7a5eb0] | committer: Zane van Iperen
avformat/argo_brp: remove block_align check for audio
Causes a divide-by-zero in the rare case where:
- the file has an audio stream,
- the first audio frame isn't within the first BRP_BASF_LOOKAHEAD frames,
- an audio frame is encountered later, and
- its chunk header (except num_blocks) contains all zeros
(matching the uninitialised structure in the context)
The decoder will discard any garbage data, so the check isn't really needed.
Fixes: division by 0
Fixes: 26667/clusterfuzz-testcase-minimized-ffmpeg_dem_ARGO_BRP_fuzzer-5645146928185344.fuzz
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Zane van Iperen <zane at zanevaniperen.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=769ab6b86421aab3936bcef3fe1813875c7a5eb0
---
libavformat/argo_brp.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/libavformat/argo_brp.c b/libavformat/argo_brp.c
index 766d4fd261..6d6da851e9 100644
--- a/libavformat/argo_brp.c
+++ b/libavformat/argo_brp.c
@@ -392,9 +392,6 @@ static int argo_brp_read_packet(AVFormatContext *s, AVPacket *pkt)
return AVERROR_INVALIDDATA;
blk.size -= ASF_CHUNK_HEADER_SIZE;
-
- if (blk.size % st->codecpar->block_align != 0)
- return AVERROR_INVALIDDATA;
}
if ((ret = av_get_packet(s->pb, pkt, blk.size)) < 0)
More information about the ffmpeg-cvslog
mailing list