libavcodec/4xm.c:518: error: Buffer Overrun L2
  Offset: [0, 63] Size: 6.

libavcodec/4xm.c:514:10: <Offset trace>
512.      * cb = ( 3b - 2g - 1r) / 14
513.      * cr = (-1b - 4g + 5r) / 14 */
514.     for (y = 0; y < 8; y++) {
              ^
515.         for (x = 0; x < 8; x++) {
516.             DCTELEM *temp = block[(x >> 2) + 2 * (y >> 2)] +

libavcodec/4xm.c:514:10: Assignment
512.      * cb = ( 3b - 2g - 1r) / 14
513.      * cr = (-1b - 4g + 5r) / 14 */
514.     for (y = 0; y < 8; y++) {
              ^
515.         for (x = 0; x < 8; x++) {
516.             DCTELEM *temp = block[(x >> 2) + 2 * (y >> 2)] +

libavcodec/4xm.c:493:1: <Length trace>
491. }
492. 
493. static inline void idct_put(FourXContext *f, int x, int y)
     ^
494. {
495.     DCTELEM (*block)[64] = f->block;

libavcodec/4xm.c:493:1: Parameter `f->block[*]`
491. }
492. 
493. static inline void idct_put(FourXContext *f, int x, int y)
     ^
494. {
495.     DCTELEM (*block)[64] = f->block;

libavcodec/4xm.c:518:22: Array access: Offset: [0, 63] Size: 6
516.             DCTELEM *temp = block[(x >> 2) + 2 * (y >> 2)] +
517.                             2 * (x & 3) + 2 * 8 * (y & 3); // FIXME optimize
518.             int cb = block[4][x + 8 * y];
                          ^
519.             int cr = block[5][x + 8 * y];
520.             int cg = (cb + cr) >> 1;

static inline void idct_put(FourXContext *f, int x, int y)
{
    DCTELEM (*block)[64] = f->block;
    int stride           = f->current_picture.linesize[0] >> 1;
    int i;
    uint16_t *dst = ((uint16_t*)f->current_picture.data[0]) + y * stride + x;
    for (i = 0; i < 4; i++) {
        block[i][0] += 0x80 * 8 * 8;
        idct(block[i]);
    }
    if (!(f->avctx->flags & CODEC_FLAG_GRAY)) {
        for (i = 4; i < 6; i++)
            idct(block[i]);
    }
    for (y = 0; y < 8; y++) {
        for (x = 0; x < 8; x++) {
            DCTELEM *temp = block[(x >> 2) + 2 * (y >> 2)] +
                            2 * (x & 3) + 2 * 8 * (y & 3);
            int cb = block[4][x + 8 * y];
            int cr = block[5][x + 8 * y];
            int cg = (cb + cr) >> 1;
            int y;
            cb += cb;
            y               = temp[0];
            dst[0]          = ((y + cb) >> 3) + (((y - cg) & 0xFC) << 3) + (((y + cr) & 0xF8) << 8);
            y               = temp[1];
            dst[1]          = ((y + cb) >> 3) + (((y - cg) & 0xFC) << 3) + (((y + cr) & 0xF8) << 8);
            y               = temp[8];
            dst[stride]     = ((y + cb) >> 3) + (((y - cg) & 0xFC) << 3) + (((y + cr) & 0xF8) << 8);
            y               = temp[9];
            dst[1 + stride] = ((y + cb) >> 3) + (((y - cg) & 0xFC) << 3) + (((y + cr) & 0xF8) << 8);
            dst            += 2;
        }
        dst += 2 * stride - 2 * 8;
    }
}
['static inline void idct_put(FourXContext *f, int x, int y)\n{\n    DCTELEM (*block)[64] = f->block;\n    int stride           = f->current_picture.linesize[0] >> 1;\n    int i;\n    uint16_t *dst = ((uint16_t*)f->current_picture.data[0]) + y * stride + x;\n    for (i = 0; i < 4; i++) {\n        block[i][0] += 0x80 * 8 * 8;\n        idct(block[i]);\n    }\n    if (!(f->avctx->flags & CODEC_FLAG_GRAY)) {\n        for (i = 4; i < 6; i++)\n            idct(block[i]);\n    }\n    for (y = 0; y < 8; y++) {\n        for (x = 0; x < 8; x++) {\n            DCTELEM *temp = block[(x >> 2) + 2 * (y >> 2)] +\n                            2 * (x & 3) + 2 * 8 * (y & 3);\n            int cb = block[4][x + 8 * y];\n            int cr = block[5][x + 8 * y];\n            int cg = (cb + cr) >> 1;\n            int y;\n            cb += cb;\n            y               = temp[0];\n            dst[0]          = ((y + cb) >> 3) + (((y - cg) & 0xFC) << 3) + (((y + cr) & 0xF8) << 8);\n            y               = temp[1];\n            dst[1]          = ((y + cb) >> 3) + (((y - cg) & 0xFC) << 3) + (((y + cr) & 0xF8) << 8);\n            y               = temp[8];\n            dst[stride]     = ((y + cb) >> 3) + (((y - cg) & 0xFC) << 3) + (((y + cr) & 0xF8) << 8);\n            y               = temp[9];\n            dst[1 + stride] = ((y + cb) >> 3) + (((y - cg) & 0xFC) << 3) + (((y + cr) & 0xF8) << 8);\n            dst            += 2;\n        }\n        dst += 2 * stride - 2 * 8;\n    }\n}']