aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJustin Ruggles <justin.ruggles@gmail.com>2014-01-30 14:08:38 -0500
committerReinhard Tartler <siretart@tauware.de>2014-02-28 23:07:40 -0500
commit9786c24bb756775796ff1fc240f700dafc39d222 (patch)
tree871cd89553afd9e93b5aec1941017c97bea8cfb8
parent4279e0e8d09a3e988d38d550265e4c94402b72b0 (diff)
downloadffmpeg-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.c5
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 ||