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>
This commit is contained in:
Andreas Cadhalpun 2017-01-06 20:31:21 +01:00
parent 5b0ae88ca6
commit 74bd17d316

View File

@ -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);