summaryrefslogtreecommitdiff
path: root/libavformat/argo_brp.c
diff options
context:
space:
mode:
authorZane van Iperen <zane@zanevaniperen.com>2020-11-03 23:41:53 +1000
committerZane van Iperen <zane@zanevaniperen.com>2020-11-05 07:58:06 +1000
commit769ab6b86421aab3936bcef3fe1813875c7a5eb0 (patch)
treec08af8560475bacf0c0af49c4a0f1ed9a1981f95 /libavformat/argo_brp.c
parent63f5f01226ff0d335ce1c2005fb73eaa05742741 (diff)
downloadffmpeg-769ab6b86421aab3936bcef3fe1813875c7a5eb0.tar.gz
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@zanevaniperen.com>
Diffstat (limited to 'libavformat/argo_brp.c')
-rw-r--r--libavformat/argo_brp.c3
1 files changed, 0 insertions, 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)