Module: libav Branch: master Commit: a812ed003f75ad8f90035ab3b88369ee7f3e1bd1
Author: Mans Rullgard <[email protected]> Committer: Mans Rullgard <[email protected]> Date: Sun Apr 29 01:17:37 2012 +0100 adpcm-thp: fix invalid array indexing Indexing outside array limits is invalid and breaks with gcc 4.8. Signed-off-by: Mans Rullgard <[email protected]> --- libavcodec/adpcm.c | 10 ++++++---- 1 files changed, 6 insertions(+), 4 deletions(-) diff --git a/libavcodec/adpcm.c b/libavcodec/adpcm.c index 41d0d98..8170e7f 100644 --- a/libavcodec/adpcm.c +++ b/libavcodec/adpcm.c @@ -1209,12 +1209,14 @@ static int adpcm_decode_frame(AVCodecContext *avctx, void *data, int prev[2][2]; int ch; - for (i = 0; i < 32; i++) - table[0][i] = sign_extend(bytestream2_get_be16u(&gb), 16); + for (i = 0; i < 2; i++) + for (n = 0; n < 16; n++) + table[i][n] = sign_extend(bytestream2_get_be16u(&gb), 16); /* Initialize the previous sample. */ - for (i = 0; i < 4; i++) - prev[0][i] = sign_extend(bytestream2_get_be16u(&gb), 16); + for (i = 0; i < 2; i++) + for (n = 0; n < 2; n++) + prev[i][n] = sign_extend(bytestream2_get_be16u(&gb), 16); for (ch = 0; ch <= st; ch++) { samples = (short *)c->frame.data[0] + ch; _______________________________________________ libav-commits mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-commits
