summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2022-09-17 16:32:09 +0200
committerMichael Niedermayer <michael@niedermayer.cc>2022-10-09 22:15:49 +0200
commitd52ed1be9e073e082c960b703a1129dfb7cf4b22 (patch)
treed62abac0cf6b1be642acf6d57407d4434396f6ee
parent9959b6e2eb57fe696e591ffded5c2dfeb70c9e79 (diff)
downloadffmpeg-d52ed1be9e073e082c960b703a1129dfb7cf4b22.tar.gz
avformat/aiffdec: Use 64bit for block_duration use
Fixes: signed integer overflow: 3 * -2147483648 cannot be represented in type 'int' Fixes: 50993/clusterfuzz-testcase-minimized-ffmpeg_dem_AIFF_fuzzer-6668935979728896 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> (cherry picked from commit 9303ba272e988d87084880c57056b750cc5ffd08) Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r--libavformat/aiffdec.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libavformat/aiffdec.c b/libavformat/aiffdec.c
index e3a228551d..aa45424934 100644
--- a/libavformat/aiffdec.c
+++ b/libavformat/aiffdec.c
@@ -422,7 +422,7 @@ static int aiff_read_packet(AVFormatContext *s,
pkt->flags &= ~AV_PKT_FLAG_CORRUPT;
/* Only one stream in an AIFF file */
pkt->stream_index = 0;
- pkt->duration = (res / st->codecpar->block_align) * aiff->block_duration;
+ pkt->duration = (res / st->codecpar->block_align) * (int64_t) aiff->block_duration;
return 0;
}