vqf: Make sure the bitrate is in the valid range
Even if the sample rate is valid, an invalid bitrate could pass the mode combination test below. CC: libav-stable@libav.org Signed-off-by: Martin Storsjö <martin@martin.st>
This commit is contained in:
parent
9277050e29
commit
68ff998128
@ -182,6 +182,13 @@ static int vqf_read_header(AVFormatContext *s)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (read_bitrate / st->codec->channels < 8 ||
|
||||||
|
read_bitrate / st->codec->channels > 48) {
|
||||||
|
av_log(s, AV_LOG_ERROR, "Invalid bitrate per channel %d\n",
|
||||||
|
read_bitrate / st->codec->channels);
|
||||||
|
return AVERROR_INVALIDDATA;
|
||||||
|
}
|
||||||
|
|
||||||
switch (((st->codec->sample_rate/1000) << 8) +
|
switch (((st->codec->sample_rate/1000) << 8) +
|
||||||
read_bitrate/st->codec->channels) {
|
read_bitrate/st->codec->channels) {
|
||||||
case (11<<8) + 8 :
|
case (11<<8) + 8 :
|
||||||
|
Loading…
x
Reference in New Issue
Block a user