diff --git a/libavcodec/adx.h b/libavcodec/adx.h index 8d5e0869ae..60ce07ad61 100644 --- a/libavcodec/adx.h +++ b/libavcodec/adx.h @@ -35,9 +35,11 @@ typedef struct ADXChannelState { int s1,s2; } ADXChannelState; +#define MAX_CHANNELS 6 + typedef struct ADXContext { int channels; - ADXChannelState prev[2]; + ADXChannelState prev[MAX_CHANNELS]; int header_parsed; int eof; int cutoff; diff --git a/libavcodec/adxdec.c b/libavcodec/adxdec.c index 97a7e59686..4300dede5e 100644 --- a/libavcodec/adxdec.c +++ b/libavcodec/adxdec.c @@ -70,7 +70,7 @@ static int adx_decode_header(AVCodecContext *avctx, const uint8_t *buf, /* channels */ channels = buf[7]; - if (channels <= 0 || channels > 2) + if (channels <= 0 || channels > MAX_CHANNELS) return AVERROR_INVALIDDATA; if (avctx->ch_layout.nb_channels != channels) {