From acb2c79c2102026747468dcafa6780ab1094b3c5 Mon Sep 17 00:00:00 2001 From: Mans Rullgard Date: Sat, 28 Apr 2012 13:05:18 +0100 Subject: [PATCH] 4xm: fix invalid array indexing Indexing outside arrays is invalid and breaks with gcc 4.8. Signed-off-by: Mans Rullgard --- libavcodec/4xm.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/libavcodec/4xm.c b/libavcodec/4xm.c index 8cc5592c73..7869264ae1 100644 --- a/libavcodec/4xm.c +++ b/libavcodec/4xm.c @@ -240,15 +240,18 @@ static void idct(DCTELEM block[64]) static av_cold void init_vlcs(FourXContext *f) { - static VLC_TYPE table[8][32][2]; - int i; + static VLC_TYPE table[2][4][32][2]; + int i, j; - for (i = 0; i < 8; i++) { - block_type_vlc[0][i].table = table[i]; - block_type_vlc[0][i].table_allocated = 32; - init_vlc(&block_type_vlc[0][i], BLOCK_TYPE_VLC_BITS, 7, - &block_type_tab[0][i][0][1], 2, 1, - &block_type_tab[0][i][0][0], 2, 1, INIT_VLC_USE_NEW_STATIC); + for (i = 0; i < 2; i++) { + for (j = 0; j < 4; j++) { + block_type_vlc[i][j].table = table[i][j]; + block_type_vlc[i][j].table_allocated = 32; + init_vlc(&block_type_vlc[i][j], BLOCK_TYPE_VLC_BITS, 7, + &block_type_tab[i][j][0][1], 2, 1, + &block_type_tab[i][j][0][0], 2, 1, + INIT_VLC_USE_NEW_STATIC); + } } }