Module: libav
Branch: master
Commit: c77d409bf95954aceb762dd800d1ee2868c4b0d4

Author:    Martin Storsjö <mar...@martin.st>
Committer: Martin Storsjö <mar...@martin.st>
Date:      Tue Sep 17 19:33:48 2013 +0300

twinvqdec: Check the ibps parameter separately

This is required, since invalid parameters actually could
pass the switch check below.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-sta...@libav.org
Signed-off-by: Martin Storsjö <mar...@martin.st>

---

 libavcodec/twinvqdec.c |    4 ++++
 1 file changed, 4 insertions(+)

diff --git a/libavcodec/twinvqdec.c b/libavcodec/twinvqdec.c
index a88b6ff..580c1f2 100644
--- a/libavcodec/twinvqdec.c
+++ b/libavcodec/twinvqdec.c
@@ -356,6 +356,10 @@ static av_cold int twinvq_decode_init(AVCodecContext 
*avctx)
                                                  : AV_CH_LAYOUT_STEREO;
 
     ibps = avctx->bit_rate / (1000 * avctx->channels);
+    if (ibps < 8 || ibps > 48) {
+        av_log(avctx, AV_LOG_ERROR, "Bad bitrate per channel value %d\n", 
ibps);
+        return AVERROR_INVALIDDATA;
+    }
 
     switch ((isampf << 8) + ibps) {
     case (8 << 8) + 8:

_______________________________________________
libav-commits mailing list
libav-commits@libav.org
https://lists.libav.org/mailman/listinfo/libav-commits

Reply via email to