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

libavcodec/ra144.c:245:10: <Offset trace>
243.     }
244. 
245.     for (i=8; i >= 0; i--) {
              ^
246.         b = 0x1000-((bp2[i+1] * bp2[i+1]) >> 12);
247. 

libavcodec/ra144.c:245:10: Assignment
243.     }
244. 
245.     for (i=8; i >= 0; i--) {
              ^
246.         b = 0x1000-((bp2[i+1] * bp2[i+1]) >> 12);
247. 

libavcodec/ra144.c:227:1: <Length trace>
225.  *         4095, 0 if not.
226.  */
227. static int eval_refl(int *refl, const int16_t *coefs, RA144Context *ractx)
     ^
228. {
229.     int b, i, j;

libavcodec/ra144.c:227:1: Array declaration
225.  *         4095, 0 if not.
226.  */
227. static int eval_refl(int *refl, const int16_t *coefs, RA144Context *ractx)
     ^
228. {
229.     int b, i, j;

libavcodec/ra144.c:233:5: Assignment
231.     int buffer2[10];
232.     int *bp1 = buffer1;
233.     int *bp2 = buffer2;
         ^
234. 
235.     for (i=0; i < 10; i++)

libavcodec/ra144.c:252:47: Array access: Offset: [-8, 8] Size: 10
250. 
251.         for (j=0; j <= i; j++)
252.             bp1[j] = ((bp2[j] - ((refl[i+1] * bp2[i-j]) >> 12)) * (0x1000000 / b)) >> 12;
                                                   ^
253. 
254.         refl[i] = bp1[i];

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