diff --git a/libavformat/vqf.c b/libavformat/vqf.c index 83ec1be1a0..cf680ffd4d 100644 --- a/libavformat/vqf.c +++ b/libavformat/vqf.c @@ -179,11 +179,11 @@ static int vqf_read_header(AVFormatContext *s) st->codec->sample_rate = 11025; break; default: - st->codec->sample_rate = rate_flag*1000; - if (st->codec->sample_rate <= 0) { - av_log(s, AV_LOG_ERROR, "sample rate %d is invalid\n", st->codec->sample_rate); - return -1; + if (rate_flag < 8 || rate_flag > 44) { + av_log(s, AV_LOG_ERROR, "Invalid rate flag %d\n", rate_flag); + return AVERROR_INVALIDDATA; } + st->codec->sample_rate = rate_flag*1000; break; }