avcodec/wmaprodec: check number of channels for XMA streams

Signed-off-by: Paul B Mahol <onemda@gmail.com>
This commit is contained in:
Paul B Mahol 2017-01-19 15:42:47 +01:00
parent 0fe50e56e9
commit 45f4bf94af
1 changed files with 6 additions and 1 deletions

View File

@ -1825,8 +1825,13 @@ static av_cold int xma_decode_init(AVCodecContext *avctx)
XMADecodeCtx *s = avctx->priv_data;
int i, ret;
for (i = 0; i < avctx->channels / 2; i++) {
if (avctx->channels <= 0 || avctx->channels > 8)
return AVERROR_INVALIDDATA;
for (i = 0; i < (avctx->channels + 1) / 2; i++) {
ret = decode_init(&s->xma[i], avctx);
if (ret < 0)
return ret;
s->frames[i] = av_frame_alloc();
if (!s->frames[i])
return AVERROR(ENOMEM);