diff --git a/libavformat/mov.c b/libavformat/mov.c index 850c9f18cc..0c5ff12e1d 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -2233,7 +2233,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; }