summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libavformat/wavdec.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libavformat/wavdec.c b/libavformat/wavdec.c
index 2fba9a08c8..256c36ebe2 100644
--- a/libavformat/wavdec.c
+++ b/libavformat/wavdec.c
@@ -643,7 +643,8 @@ break_loop:
} else if (st->codecpar->codec_id == AV_CODEC_ID_XMA1 ||
st->codecpar->codec_id == AV_CODEC_ID_XMA2) {
st->codecpar->block_align = 2048;
- } else if (st->codecpar->codec_id == AV_CODEC_ID_ADPCM_MS && st->codecpar->channels > 2) {
+ } else if (st->codecpar->codec_id == AV_CODEC_ID_ADPCM_MS && st->codecpar->channels > 2 &&
+ st->codecpar->block_align < INT_MAX / st->codecpar->channels) {
st->codecpar->block_align *= st->codecpar->channels;
}