libavcodec/ra288.c:206: error: Buffer Overrun L3
  Offset: [-34, 35] (⇐ [0, 1] + [-34, 34]) Size: 37 by call to `backward_filter`.

libavcodec/ra288.c:206:13: Call
204. 
205.         if ((i & 7) == 3) {
206.             backward_filter(ractx->sp_hist, ractx->sp_rec, syn_window,
                 ^
207.                             ractx->sp_lpc, syn_bw_tab, 36, 40, 35, 70);
208. 

libavcodec/ra288.c:161:1: Parameter `order`
  159.  * Backward synthesis filter, find the LPC coefficients from past speech data.
  160.  */
  161. static void backward_filter(float *hist, float *rec, const float *window,
       ^
  162.                             float *lpc, const float *tab,
  163.                             int order, int n, int non_rec, int move_size)

libavcodec/ra288.c:169:10: Call
  167.     do_hybrid_window(order, n, non_rec, temp, hist, rec, window);
  168. 
  169.     if (!compute_lpc_coefs(temp, order, lpc, 0, 1, 1))
                ^
  170.         apply_window(lpc, lpc, tab, order);
  171. 

libavcodec/lpc.h:58:1: <Offset trace>
56.  * Produces LPC coefficients from autocorrelation data.
57.  */
58. static inline int compute_lpc_coefs(const LPC_TYPE *autoc, int max_order,
    ^
59.                                     LPC_TYPE *lpc, int lpc_stride, int fail,
60.                                     int normalize)

libavcodec/lpc.h:58:1: Parameter `max_order`
    56.  * Produces LPC coefficients from autocorrelation data.
    57.  */
    58. static inline int compute_lpc_coefs(const LPC_TYPE *autoc, int max_order,
        ^
    59.                                     LPC_TYPE *lpc, int lpc_stride, int fail,
    60.                                     int normalize)

libavcodec/lpc.h:58:1: <Length trace>
56.  * Produces LPC coefficients from autocorrelation data.
57.  */
58. static inline int compute_lpc_coefs(const LPC_TYPE *autoc, int max_order,
    ^
59.                                     LPC_TYPE *lpc, int lpc_stride, int fail,
60.                                     int normalize)

libavcodec/lpc.h:58:1: Parameter `*autoc`
    56.  * Produces LPC coefficients from autocorrelation data.
    57.  */
    58. static inline int compute_lpc_coefs(const LPC_TYPE *autoc, int max_order,
        ^
    59.                                     LPC_TYPE *lpc, int lpc_stride, int fail,
    60.                                     int normalize)

libavcodec/lpc.h:77:36: Array access: Offset: [-34, 35] (⇐ [0, 1] + [-34, 34]) Size: 37 by call to `backward_filter` 
    75.         if (normalize) {
    76.             for(j=0; j<i; j++)
    77.                 r -= lpc_last[j] * autoc[i-j-1];
                                           ^
    78. 
    79.             r /= err;

static inline int compute_lpc_coefs(const LPC_TYPE *autoc, int max_order,
                                    LPC_TYPE *lpc, int lpc_stride, int fail,
                                    int normalize)
{
    int i, j;
    LPC_TYPE err;
    LPC_TYPE *lpc_last = lpc;
    if (normalize)
        err = *autoc++;
    if (fail && (autoc[max_order - 1] == 0 || err <= 0))
        return -1;
    for(i=0; i<max_order; i++) {
        LPC_TYPE r = -autoc[i];
        if (normalize) {
            for(j=0; j<i; j++)
                r -= lpc_last[j] * autoc[i-j-1];
            r /= err;
            err *= 1.0 - (r * r);
        }
        lpc[i] = r;
        for(j=0; j < (i+1)>>1; j++) {
            LPC_TYPE f = lpc_last[    j];
            LPC_TYPE b = lpc_last[i-1-j];
            lpc[    j] = f + r * b;
            lpc[i-1-j] = b + r * f;
        }
        if (fail && err < 0)
            return -1;
        lpc_last = lpc;
        lpc += lpc_stride;
    }
    return 0;
}
['static int ra288_decode_frame(AVCodecContext * avctx, void *data,\n                              int *data_size, const uint8_t * buf,\n                              int buf_size)\n{\n    float *out = data;\n    int i, j;\n    RA288Context *ractx = avctx->priv_data;\n    GetBitContext gb;\n    if (buf_size < avctx->block_align) {\n        av_log(avctx, AV_LOG_ERROR,\n               "Error! Input buffer is too small [%d<%d]\\n",\n               buf_size, avctx->block_align);\n        return 0;\n    }\n    if (*data_size < 32*5*4)\n        return -1;\n    init_get_bits(&gb, buf, avctx->block_align * 8);\n    for (i=0; i < 32; i++) {\n        float gain = amptable[get_bits(&gb, 3)];\n        int cb_coef = get_bits(&gb, 6 + (i&1));\n        decode(ractx, gain, cb_coef);\n        for (j=0; j < 5; j++)\n            *(out++) = ractx->sp_hist[70 + 36 + j];\n        if ((i & 7) == 3) {\n            backward_filter(ractx->sp_hist, ractx->sp_rec, syn_window,\n                            ractx->sp_lpc, syn_bw_tab, 36, 40, 35, 70);\n            backward_filter(ractx->gain_hist, ractx->gain_rec, gain_window,\n                            ractx->gain_lpc, gain_bw_tab, 10, 8, 20, 28);\n        }\n    }\n    *data_size = (char *)out - (char *)data;\n    return avctx->block_align;\n}', 'static void backward_filter(float *hist, float *rec, const float *window,\n                            float *lpc, const float *tab,\n                            int order, int n, int non_rec, int move_size)\n{\n    float temp[order+1];\n    do_hybrid_window(order, n, non_rec, temp, hist, rec, window);\n    if (!compute_lpc_coefs(temp, order, lpc, 0, 1, 1))\n        apply_window(lpc, lpc, tab, order);\n    memmove(hist, hist + n, move_size*sizeof(*hist));\n}', 'static inline int compute_lpc_coefs(const LPC_TYPE *autoc, int max_order,\n                                    LPC_TYPE *lpc, int lpc_stride, int fail,\n                                    int normalize)\n{\n    int i, j;\n    LPC_TYPE err;\n    LPC_TYPE *lpc_last = lpc;\n    if (normalize)\n        err = *autoc++;\n    if (fail && (autoc[max_order - 1] == 0 || err <= 0))\n        return -1;\n    for(i=0; i<max_order; i++) {\n        LPC_TYPE r = -autoc[i];\n        if (normalize) {\n            for(j=0; j<i; j++)\n                r -= lpc_last[j] * autoc[i-j-1];\n            r /= err;\n            err *= 1.0 - (r * r);\n        }\n        lpc[i] = r;\n        for(j=0; j < (i+1)>>1; j++) {\n            LPC_TYPE f = lpc_last[    j];\n            LPC_TYPE b = lpc_last[i-1-j];\n            lpc[    j] = f + r * b;\n            lpc[i-1-j] = b + r * f;\n        }\n        if (fail && err < 0)\n            return -1;\n        lpc_last = lpc;\n        lpc += lpc_stride;\n    }\n    return 0;\n}']