diff options
author | Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com> | 2017-01-06 20:31:21 +0100 |
---|---|---|
committer | Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com> | 2017-01-30 01:40:48 +0100 |
commit | 74bd17d31648c77d01a0d35b09724715bc40fba2 (patch) | |
tree | 7e114c1aea2e912a6c178c26573ceb159722bd4a | |
parent | 5b0ae88ca6b3eb85dbda1762f16f1b5e7c3aa014 (diff) | |
download | ffmpeg-74bd17d31648c77d01a0d35b09724715bc40fba2.tar.gz |
epafdec: prevent overflow during block alignment calculation
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
-rw-r--r-- | libavformat/epafdec.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/libavformat/epafdec.c b/libavformat/epafdec.c index 29190fff72..0cd9627a4b 100644 --- a/libavformat/epafdec.c +++ b/libavformat/epafdec.c @@ -20,6 +20,7 @@ */ #include "libavutil/intreadwrite.h" +#include "libavcodec/internal.h" #include "avformat.h" #include "internal.h" #include "pcm.h" @@ -59,7 +60,7 @@ static int epaf_read_header(AVFormatContext *s) channels = avio_rb32(s->pb); } - if (!channels || !sample_rate) + if (channels <= 0 || channels > FF_SANE_NB_CHANNELS || sample_rate <= 0) return AVERROR_INVALIDDATA; st = avformat_new_stream(s, NULL); |