summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2023-02-20 19:38:00 +0100
committerMichael Niedermayer <michael@niedermayer.cc>2023-02-25 21:05:55 +0100
commitec5edc09463ebdea86314f6b54b46392e2396123 (patch)
tree716525ff25e154b89df5e739fdc8609a84ec1fe4
parent6f1b24c4fe9797eaafac59c5512533305da894c0 (diff)
downloadffmpeg-ec5edc09463ebdea86314f6b54b46392e2396123.tar.gz
avformat/rka: Fix 1/0 with bps=1
Fixes: division by zero Fixes: 55940/clusterfuzz-testcase-minimized-ffmpeg_IO_DEMUXER_fuzzer-6333107679920128 The decoder does not support bps=1 and i have no such sample so it is not known if this duration is correct. Alternatively we could error out on all bps we currently do not support on the decoder side or not set duration. Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> (cherry picked from commit b3df7ca748bf28e41a6fcb6792b485d8eb04b36a) Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r--libavformat/rka.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libavformat/rka.c b/libavformat/rka.c
index cc55480345..39e5b3bce1 100644
--- a/libavformat/rka.c
+++ b/libavformat/rka.c
@@ -114,7 +114,7 @@ static int rka_read_header(AVFormatContext *s)
par->ch_layout.nb_channels = channels;
par->sample_rate = samplerate;
par->bits_per_raw_sample = bps;
- st->duration = nb_samples / (channels * (bps >> 3));
+ st->duration = 8LL*nb_samples / (channels * bps);
if (s->pb->seekable & AVIO_SEEKABLE_NORMAL)
ff_ape_parse_tag(s);