libavcodec/ra144.c:267: error: Buffer Overrun L3
  Offset: [-8, 8] Size: 10.

libavcodec/ra144.c:254:10: <Offset trace>
252.     }
253. 
254.     for (c=8; c >= 0; c--) {
              ^
255.         if (u == 0x1000)
256.             u++;

libavcodec/ra144.c:254:10: Assignment
252.     }
253. 
254.     for (c=8; c >= 0; c--) {
              ^
255.         if (u == 0x1000)
256.             u++;

libavcodec/ra144.c:234:1: <Length trace>
232.  *         4095, 0 if not.
233.  */
234. static int eval_refl(int *refl, const int16_t *coefs, RA144Context *ractx)
     ^
235. {
236.     int retval = 0;

libavcodec/ra144.c:234:1: Array declaration
232.  *         4095, 0 if not.
233.  */
234. static int eval_refl(int *refl, const int16_t *coefs, RA144Context *ractx)
     ^
235. {
236.     int retval = 0;

libavcodec/ra144.c:242:5: Assignment
240.     int buffer2[10];
241.     int *bp1 = buffer1;
242.     int *bp2 = buffer2;
         ^
243. 
244.     for (i=0; i < 10; i++)

libavcodec/ra144.c:267:47: Array access: Offset: [-8, 8] Size: 10
265. 
266.         for (u=0; u<=c; u++)
267.             bp1[u] = ((bp2[u] - ((refl[c+1] * bp2[c-u]) >> 12)) * (0x1000000 / b)) >> 12;
                                                   ^
268. 
269.         refl[c] = u = bp1[c];

static int eval_refl(int *refl, const int16_t *coefs, RA144Context *ractx)
{
    int retval = 0;
    int b, c, i;
    unsigned int u;
    int buffer1[10];
    int buffer2[10];
    int *bp1 = buffer1;
    int *bp2 = buffer2;
    for (i=0; i < 10; i++)
        buffer2[i] = coefs[i];
    u = refl[9] = bp2[9];
    if (u + 0x1000 > 0x1fff) {
        av_log(ractx, AV_LOG_ERROR, "Overflow. Broken sample?\n");
        return 1;
    }
    for (c=8; c >= 0; c--) {
        if (u == 0x1000)
            u++;
        if (u == 0xfffff000)
            u--;
        b = 0x1000-((u * u) >> 12);
        if (b == 0)
            b++;
        for (u=0; u<=c; u++)
            bp1[u] = ((bp2[u] - ((refl[c+1] * bp2[c-u]) >> 12)) * (0x1000000 / b)) >> 12;
        refl[c] = u = bp1[c];
        if ((u + 0x1000) > 0x1fff)
            retval = 1;
        FFSWAP(int *, bp1, bp2);
    }
    return retval;
}
['static int eval_refl(int *refl, const int16_t *coefs, RA144Context *ractx)\n{\n    int retval = 0;\n    int b, c, i;\n    unsigned int u;\n    int buffer1[10];\n    int buffer2[10];\n    int *bp1 = buffer1;\n    int *bp2 = buffer2;\n    for (i=0; i < 10; i++)\n        buffer2[i] = coefs[i];\n    u = refl[9] = bp2[9];\n    if (u + 0x1000 > 0x1fff) {\n        av_log(ractx, AV_LOG_ERROR, "Overflow. Broken sample?\\n");\n        return 1;\n    }\n    for (c=8; c >= 0; c--) {\n        if (u == 0x1000)\n            u++;\n        if (u == 0xfffff000)\n            u--;\n        b = 0x1000-((u * u) >> 12);\n        if (b == 0)\n            b++;\n        for (u=0; u<=c; u++)\n            bp1[u] = ((bp2[u] - ((refl[c+1] * bp2[c-u]) >> 12)) * (0x1000000 / b)) >> 12;\n        refl[c] = u = bp1[c];\n        if ((u + 0x1000) > 0x1fff)\n            retval = 1;\n        FFSWAP(int *, bp1, bp2);\n    }\n    return retval;\n}']