From 940be96540ee58e65b3730665b32819dda8d8d32 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Fri, 11 May 2012 03:33:59 +0200 Subject: dcaenc: fix out of array read Signed-off-by: Michael Niedermayer --- libavcodec/dcaenc.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'libavcodec/dcaenc.c') diff --git a/libavcodec/dcaenc.c b/libavcodec/dcaenc.c index d6efd250d5..f0b6f8111e 100644 --- a/libavcodec/dcaenc.c +++ b/libavcodec/dcaenc.c @@ -503,13 +503,13 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *avpkt, samples = (const int16_t *)frame->data[0]; for (i = 0; i < PCM_SAMPLES; i ++) { /* i is the decimated sample number */ for (channel = 0; channel < c->prim_channels + 1; channel++) { - /* Get 32 PCM samples */ - for (k = 0; k < 32; k++) { /* k is the sample number in a 32-sample block */ - c->pcm[k] = samples[avctx->channels * (32 * i + k) + channel] << 16; - } - /* Put subband samples into the proper place */ real_channel = c->channel_order_tab[channel]; if (real_channel >= 0) { + /* Get 32 PCM samples */ + for (k = 0; k < 32; k++) { /* k is the sample number in a 32-sample block */ + c->pcm[k] = samples[avctx->channels * (32 * i + k) + channel] << 16; + } + /* Put subband samples into the proper place */ qmf_decompose(c, c->pcm, &c->subband[i][real_channel][0], real_channel); } } -- cgit v1.2.3