diff --git a/libavformat/mvdec.c b/libavformat/mvdec.c index 80ef4b1569..f0a29ebe57 100644 --- a/libavformat/mvdec.c +++ b/libavformat/mvdec.c @@ -317,6 +317,10 @@ static int mv_read_header(AVFormatContext *avctx) ast->codecpar->codec_type = AVMEDIA_TYPE_AUDIO; ast->nb_frames = vst->nb_frames; ast->codecpar->sample_rate = avio_rb32(pb); + if (ast->codecpar->sample_rate <= 0) { + av_log(avctx, AV_LOG_ERROR, "Invalid sample rate %d\n", ast->codecpar->sample_rate); + return AVERROR_INVALIDDATA; + } avpriv_set_pts_info(ast, 33, 1, ast->codecpar->sample_rate); if (set_channels(avctx, ast, avio_rb32(pb)) < 0) return AVERROR_INVALIDDATA;