mirror of https://git.ffmpeg.org/ffmpeg.git
adpcm-thp: fix invalid array indexing
Indexing outside array limits is invalid and breaks with gcc 4.8. Signed-off-by: Mans Rullgard <mans@mansr.com>
This commit is contained in:
parent
c81d1e2390
commit
a812ed003f
|
@ -1209,12 +1209,14 @@ static int adpcm_decode_frame(AVCodecContext *avctx, void *data,
|
||||||
int prev[2][2];
|
int prev[2][2];
|
||||||
int ch;
|
int ch;
|
||||||
|
|
||||||
for (i = 0; i < 32; i++)
|
for (i = 0; i < 2; i++)
|
||||||
table[0][i] = sign_extend(bytestream2_get_be16u(&gb), 16);
|
for (n = 0; n < 16; n++)
|
||||||
|
table[i][n] = sign_extend(bytestream2_get_be16u(&gb), 16);
|
||||||
|
|
||||||
/* Initialize the previous sample. */
|
/* Initialize the previous sample. */
|
||||||
for (i = 0; i < 4; i++)
|
for (i = 0; i < 2; i++)
|
||||||
prev[0][i] = sign_extend(bytestream2_get_be16u(&gb), 16);
|
for (n = 0; n < 2; n++)
|
||||||
|
prev[i][n] = sign_extend(bytestream2_get_be16u(&gb), 16);
|
||||||
|
|
||||||
for (ch = 0; ch <= st; ch++) {
|
for (ch = 0; ch <= st; ch++) {
|
||||||
samples = (short *)c->frame.data[0] + ch;
|
samples = (short *)c->frame.data[0] + ch;
|
||||||
|
|
Loading…
Reference in New Issue