libavcodec/ra288.c:217: error: Buffer Overrun L3
  Offset: [-7, 9] (⇐ -1 + [-6, 10]) Size: 11 by call to `eval_lpc_coeffs`.

libavcodec/ra288.c:198:1: Array declaration
196.  * Backward synthesis filter. Find the LPC coefficients from past speech data.
197.  */
198. static void backward_filter(RA288Context *ractx)
     ^
199. {
200.     float temp1[37]; // RTMP in the spec

libavcodec/ra288.c:217:10: Call
215.                      ractx->gain_rec, gain_window);
216. 
217.     if (!eval_lpc_coeffs(temp2, ractx->gain_lpc, 10))
              ^
218.         colmult(ractx->gain_lpc, ractx->gain_lpc, gain_bw_tab, 10);
219. }

libavcodec/ra288.c:115:1: <Offset trace>
113.  * @return 0 if success, -1 if fail
114.  */
115. static int eval_lpc_coeffs(const float *in, float *tgt, int n)
     ^
116. {
117.     int x, y;

libavcodec/ra288.c:115:1: Parameter `n`
  113.  * @return 0 if success, -1 if fail
  114.  */
  115. static int eval_lpc_coeffs(const float *in, float *tgt, int n)
       ^
  116. {
  117.     int x, y;

libavcodec/ra288.c:115:1: <Length trace>
113.  * @return 0 if success, -1 if fail
114.  */
115. static int eval_lpc_coeffs(const float *in, float *tgt, int n)
     ^
116. {
117.     int x, y;

libavcodec/ra288.c:115:1: Parameter `*in`
  113.  * @return 0 if success, -1 if fail
  114.  */
  115. static int eval_lpc_coeffs(const float *in, float *tgt, int n)
       ^
  116. {
  117.     int x, y;

libavcodec/ra288.c:126:5: Assignment
  124.         return -1;
  125. 
  126.     in--; // To avoid a -1 subtraction in the inner loop
           ^
  127. 
  128.     for (x=1; x <= n; x++) {

libavcodec/ra288.c:132:19: Array access: Offset: [-7, 9] (⇐ -1 + [-6, 10]) Size: 11 by call to `eval_lpc_coeffs` 
  130. 
  131.         for (y=0; y < x - 1; y++)
  132.             f1 += in[x-y]*tgt[y];
                         ^
  133. 
  134.         tgt[x-1] = f2 = -f1/f0;

static int eval_lpc_coeffs(const float *in, float *tgt, int n)
{
    int x, y;
    double f0, f1, f2;
    if (in[n] == 0)
        return -1;
    if ((f0 = *in) <= 0)
        return -1;
    in--;
    for (x=1; x <= n; x++) {
        f1 = in[x+1];
        for (y=0; y < x - 1; y++)
            f1 += in[x-y]*tgt[y];
        tgt[x-1] = f2 = -f1/f0;
        for (y=0; y < x >> 1; y++) {
            float temp = tgt[y] + tgt[x-y-2]*f2;
            tgt[x-y-2] += tgt[y]*f2;
            tgt[y] = temp;
        }
        if ((f0 += f1*f2) < 0)
            return -1;
    }
    return 0;
}
['static void backward_filter(RA288Context *ractx)\n{\n    float temp1[37];\n    float temp2[11];\n    float history[8];\n    int i;\n    for (i=0 ; i < 8; i++)\n        history[i] = ractx->lhist[7-i];\n    do_hybrid_window(36, 40, 35, ractx->output, temp1, ractx->sp_hist,\n                     ractx->sp_rec, syn_window);\n    if (!eval_lpc_coeffs(temp1, ractx->sp_lpc, 36))\n        colmult(ractx->sp_lpc, ractx->sp_lpc, syn_bw_tab, 36);\n    do_hybrid_window(10, 8, 20, history, temp2, ractx->gain_hist,\n                     ractx->gain_rec, gain_window);\n    if (!eval_lpc_coeffs(temp2, ractx->gain_lpc, 10))\n        colmult(ractx->gain_lpc, ractx->gain_lpc, gain_bw_tab, 10);\n}', 'static int eval_lpc_coeffs(const float *in, float *tgt, int n)\n{\n    int x, y;\n    double f0, f1, f2;\n    if (in[n] == 0)\n        return -1;\n    if ((f0 = *in) <= 0)\n        return -1;\n    in--;\n    for (x=1; x <= n; x++) {\n        f1 = in[x+1];\n        for (y=0; y < x - 1; y++)\n            f1 += in[x-y]*tgt[y];\n        tgt[x-1] = f2 = -f1/f0;\n        for (y=0; y < x >> 1; y++) {\n            float temp = tgt[y] + tgt[x-y-2]*f2;\n            tgt[x-y-2] += tgt[y]*f2;\n            tgt[y] = temp;\n        }\n        if ((f0 += f1*f2) < 0)\n            return -1;\n    }\n    return 0;\n}']