diff --git a/libavformat/mov.c b/libavformat/mov.c index 7e392b8001..370fbc8e78 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -2222,7 +2222,7 @@ static void mov_parse_stsd_audio(MOVContext *c, AVIOContext *pb, } bits_per_sample = av_get_bits_per_sample(st->codecpar->codec_id); - if (bits_per_sample) { + if (bits_per_sample && (bits_per_sample >> 3) * (uint64_t)st->codecpar->channels <= INT_MAX) { st->codecpar->bits_per_coded_sample = bits_per_sample; sc->sample_size = (bits_per_sample >> 3) * st->codecpar->channels; }