From d171cd076f611b70a9d2e08bc261b470affcb932 Mon Sep 17 00:00:00 2001 From: Paul B Mahol Date: Sat, 30 Apr 2016 17:50:22 +0200 Subject: avformat/dsfdec: check if number of channels is <= 0 Fixes FPE bellow. Signed-off-by: Paul B Mahol --- libavformat/dsfdec.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'libavformat/dsfdec.c') diff --git a/libavformat/dsfdec.c b/libavformat/dsfdec.c index beb2fbf5aa..a8c78e4a4d 100644 --- a/libavformat/dsfdec.c +++ b/libavformat/dsfdec.c @@ -107,6 +107,9 @@ static int dsf_read_header(AVFormatContext *s) st->codecpar->channels = avio_rl32(pb); st->codecpar->sample_rate = avio_rl32(pb) / 8; + if (st->codecpar->channels <= 0) + return AVERROR_INVALIDDATA; + switch(avio_rl32(pb)) { case 1: st->codecpar->codec_id = AV_CODEC_ID_DSD_LSBF_PLANAR; break; case 8: st->codecpar->codec_id = AV_CODEC_ID_DSD_MSBF_PLANAR; break; -- cgit v1.2.3