diff options
author | Justin Ruggles <justin.ruggles@gmail.com> | 2014-01-30 14:08:38 -0500 |
---|---|---|
committer | Reinhard Tartler <siretart@tauware.de> | 2014-02-28 23:07:40 -0500 |
commit | 9786c24bb756775796ff1fc240f700dafc39d222 (patch) | |
tree | 871cd89553afd9e93b5aec1941017c97bea8cfb8 | |
parent | 4279e0e8d09a3e988d38d550265e4c94402b72b0 (diff) | |
download | ffmpeg-9786c24bb756775796ff1fc240f700dafc39d222.tar.gz |
samplefmt: avoid integer overflow in av_samples_get_buffer_size()
CC:libav-stable@libav.org
(cherry picked from commit 0e830094ad0dc251613a0aa3234d9c5c397e02e6)
(cherry picked from commit e9b3abd49890e958c745ea46a9f4f91b6b4baa58)
Conflicts:
libavutil/samplefmt.c
-rw-r--r-- | libavutil/samplefmt.c | 5 |
1 files changed, 4 insertions, 1 deletions
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 || |