aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2022-09-17 16:32:09 +0200
committerMichael Niedermayer <michael@niedermayer.cc>2022-10-21 22:19:37 +0200
commit13cbb13666dfded4372f5cccc7f9a3dc98a4b28b (patch)
treefc466fff8eab93a7cec1e8c44001224996e5d4e0
parent596684ddb556b335749791b454be189f9e2438fd (diff)
downloadffmpeg-13cbb13666dfded4372f5cccc7f9a3dc98a4b28b.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 38ae5eb24e..4af14d88c9 100644
--- a/libavformat/aiffdec.c
+++ b/libavformat/aiffdec.c
@@ -408,7 +408,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;
}