aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2013-05-07 22:26:22 +0200
committerMichael Niedermayer <michaelni@gmx.at>2014-01-16 00:35:12 +0100
commit3d380ffde9af31152b1ddac47fa09521e0ae3d57 (patch)
tree4738b9b8eea99c05f0dd8b5e9add184eef51c2d0
parent84b100396efb1d8ac65b2097ff1d9e532313d2d6 (diff)
downloadffmpeg-3d380ffde9af31152b1ddac47fa09521e0ae3d57.tar.gz
avformat/vqf: check number of channels before use.
Fixes division by zero Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at> (cherry picked from commit a527e692592b7eef69430cc866bb96231526316c) Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r--libavformat/vqf.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libavformat/vqf.c b/libavformat/vqf.c
index f1e6aafd98..8ba199c678 100644
--- a/libavformat/vqf.c
+++ b/libavformat/vqf.c
@@ -132,6 +132,11 @@ static int vqf_read_header(AVFormatContext *s)
rate_flag = AV_RB32(comm_chunk + 8);
avio_skip(s->pb, len-12);
+ if (st->codec->channels <= 0) {
+ av_log(s, AV_LOG_ERROR, "Invalid number of channels\n");
+ return AVERROR_INVALIDDATA;
+ }
+
st->codec->bit_rate = read_bitrate*1000;
break;
case MKTAG('D','S','I','Z'): // size of compressed data