diff options
author | Paul B Mahol <onemda@gmail.com> | 2022-09-16 17:58:36 +0200 |
---|---|---|
committer | Paul B Mahol <onemda@gmail.com> | 2022-09-16 18:04:20 +0200 |
commit | 9c05f178a6a9672411e5f5149c1b04adb4e77b51 (patch) | |
tree | 1c90b642012f567f92c0761229b96fef4e595c02 /libavformat/ape.c | |
parent | 8f115122733fd640b6f12290f2108939fda4c9cf (diff) | |
download | ffmpeg-9c05f178a6a9672411e5f5149c1b04adb4e77b51.tar.gz |
avformat/ape: fix overflow in total_blocks
Diffstat (limited to 'libavformat/ape.c')
-rw-r--r-- | libavformat/ape.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libavformat/ape.c b/libavformat/ape.c index e694df7302..f904fde178 100644 --- a/libavformat/ape.c +++ b/libavformat/ape.c @@ -146,7 +146,7 @@ static int ape_read_header(AVFormatContext * s) AVStream *st; uint32_t tag; int i, ret; - int total_blocks; + int64_t total_blocks; int64_t final_size = 0; int64_t pts, file_size; @@ -327,7 +327,7 @@ static int ape_read_header(AVFormatContext * s) if (!st) return AVERROR(ENOMEM); - total_blocks = (ape->totalframes == 0) ? 0 : ((ape->totalframes - 1) * ape->blocksperframe) + ape->finalframeblocks; + total_blocks = (ape->totalframes == 0) ? 0 : ((int64_t)(ape->totalframes - 1) * ape->blocksperframe) + ape->finalframeblocks; st->codecpar->codec_type = AVMEDIA_TYPE_AUDIO; st->codecpar->codec_id = AV_CODEC_ID_APE; |