diff options
author | Martin Storsjö <martin@martin.st> | 2013-09-28 23:19:10 +0300 |
---|---|---|
committer | Luca Barbato <lu_zero@gentoo.org> | 2013-10-04 03:52:08 +0200 |
commit | 60701469ab9f526841ae81444236425f87916adb (patch) | |
tree | d51d88c439eb2855b8a4b218f5dbf283b24fd60e | |
parent | 4d60ab62e05decc562645cd6f813f7c9e69637ee (diff) | |
download | ffmpeg-60701469ab9f526841ae81444236425f87916adb.tar.gz |
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>
(cherry picked from commit 68ff9981283a56c731f00c2ee7901103665092fc)
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
-rw-r--r-- | libavformat/vqf.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/libavformat/vqf.c b/libavformat/vqf.c index b0e3b6de74..aba6ab1f37 100644 --- a/libavformat/vqf.c +++ b/libavformat/vqf.c @@ -182,6 +182,13 @@ static int vqf_read_header(AVFormatContext *s) 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) + read_bitrate/st->codec->channels) { case (11<<8) + 8 : |