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-stable@libav.org Signed-off-by: Martin Storsjö <martin@martin.st> (cherry picked from commit c77d409bf95954aceb762dd800d1ee2868c4b0d4) (cherry picked from commit 9b9aee27f4e43b4a6b0884f8a6f49eb0289d7c09)
This commit is contained in:
parent
e972338e35
commit
591d5281f5
@ -1137,6 +1137,10 @@ static av_cold int twin_decode_init(AVCodecContext *avctx)
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
ibps = avctx->bit_rate / (1000 * avctx->channels);
|
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) {
|
switch ((isampf << 8) + ibps) {
|
||||||
case (8 <<8) + 8: tctx->mtab = &mode_08_08; break;
|
case (8 <<8) + 8: tctx->mtab = &mode_08_08; break;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user