diff --git a/libavutil/samplefmt.c b/libavutil/samplefmt.c index 8d6125b763..a3e898c2c9 100644 --- a/libavutil/samplefmt.c +++ b/libavutil/samplefmt.c @@ -105,8 +105,11 @@ int av_samples_get_buffer_size(int *linesize, int nb_channels, int nb_samples, return AVERROR(EINVAL); /* auto-select alignment if not specified */ - if (!align) + if (!align) { + if (nb_samples > INT_MAX - 31) + return AVERROR(EINVAL); align = 32; + } /* check for integer overflow */ if (nb_channels > INT_MAX / align ||