twinvq: validate that channels is not <= 0

This could occur due to integer overflow when reading the channel count from
the extradata.
This commit is contained in:
Justin Ruggles 2012-10-23 13:15:24 -04:00
parent cebea00c8a
commit 8cc72ce5a0

View File

@ -1126,7 +1126,7 @@ static av_cold int twin_decode_init(AVCodecContext *avctx)
default: avctx->sample_rate = isampf * 1000; break;
}
if (avctx->channels > CHANNELS_MAX) {
if (avctx->channels <= 0 || avctx->channels > CHANNELS_MAX) {
av_log(avctx, AV_LOG_ERROR, "Unsupported number of channels: %i\n",
avctx->channels);
return -1;