diff options
author | Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com> | 2016-12-15 02:14:54 +0100 |
---|---|---|
committer | Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com> | 2017-01-29 01:20:52 +0100 |
commit | 169c1cfa928040b83f2ac8386333ec5e5cff3df7 (patch) | |
tree | a7dac2a7bdcadfb4c66a520b6d8893648adb612d /libavformat/pvfdec.c | |
parent | 8812d047bc850ec0b6afec69ae2d716525b25128 (diff) | |
download | ffmpeg-169c1cfa928040b83f2ac8386333ec5e5cff3df7.tar.gz |
pvfdec: prevent overflow during block alignment calculation
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Diffstat (limited to 'libavformat/pvfdec.c')
-rw-r--r-- | libavformat/pvfdec.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/libavformat/pvfdec.c b/libavformat/pvfdec.c index b9f6d4f2c2..c6652b9b43 100644 --- a/libavformat/pvfdec.c +++ b/libavformat/pvfdec.c @@ -19,6 +19,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include "libavcodec/internal.h" #include "avformat.h" #include "internal.h" #include "pcm.h" @@ -44,7 +45,8 @@ static int pvf_read_header(AVFormatContext *s) &bps) != 3) return AVERROR_INVALIDDATA; - if (channels <= 0 || bps <= 0 || sample_rate <= 0) + if (channels <= 0 || channels > FF_SANE_NB_CHANNELS || + bps <= 0 || bps > INT_MAX / FF_SANE_NB_CHANNELS || sample_rate <= 0) return AVERROR_INVALIDDATA; st = avformat_new_stream(s, NULL); |