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

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

libavcodec/ra288.c:158:1: Array declaration
  156.  * Backward synthesis filter, find the LPC coefficients from past speech data.
  157.  */
  158. static void backward_filter(RA288Context *ractx,
       ^
  159.                             float *hist, float *rec, const float *window,
  160.                             float *lpc, const float *tab,

libavcodec/ra288.c:167:10: Call
  165.     do_hybrid_window(ractx, order, n, non_rec, temp, hist, rec, window);
  166. 
  167.     if (!compute_lpc_coefs(temp, order, lpc, 0, 1, 1))
                ^
  168.         ractx->fdsp.vector_fmul(lpc, lpc, tab, FFALIGN(order, 16));
  169. 

libavcodec/lpc.h:116:1: <Offset trace>
114.  * Produce LPC coefficients from autocorrelation data.
115.  */
116. static inline int compute_lpc_coefs(const LPC_TYPE *autoc, int max_order,
     ^
117.                                     LPC_TYPE *lpc, int lpc_stride, int fail,
118.                                     int normalize)

libavcodec/lpc.h:116:1: Parameter `max_order`
    114.  * Produce LPC coefficients from autocorrelation data.
    115.  */
    116. static inline int compute_lpc_coefs(const LPC_TYPE *autoc, int max_order,
         ^
    117.                                     LPC_TYPE *lpc, int lpc_stride, int fail,
    118.                                     int normalize)

libavcodec/lpc.h:116:1: <Length trace>
114.  * Produce LPC coefficients from autocorrelation data.
115.  */
116. static inline int compute_lpc_coefs(const LPC_TYPE *autoc, int max_order,
     ^
117.                                     LPC_TYPE *lpc, int lpc_stride, int fail,
118.                                     int normalize)

libavcodec/lpc.h:116:1: Parameter `*autoc`
    114.  * Produce LPC coefficients from autocorrelation data.
    115.  */
    116. static inline int compute_lpc_coefs(const LPC_TYPE *autoc, int max_order,
         ^
    117.                                     LPC_TYPE *lpc, int lpc_stride, int fail,
    118.                                     int normalize)

libavcodec/lpc.h:135:36: Array access: Offset: [-34, 35] (⇐ [0, 1] + [-34, 34]) Size: 37 by call to `backward_filter` 
    133.         if (normalize) {
    134.             for(j=0; j<i; j++)
    135.                 r -= lpc_last[j] * autoc[i-j-1];
                                            ^
    136. 
    137.             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 *got_frame_ptr, AVPacket *avpkt)\n{\n    const uint8_t *buf = avpkt->data;\n    int buf_size = avpkt->size;\n    float *out;\n    int i, ret;\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 AVERROR_INVALIDDATA;\n    }\n    ractx->frame.nb_samples = RA288_BLOCK_SIZE * RA288_BLOCKS_PER_FRAME;\n    if ((ret = avctx->get_buffer(avctx, &ractx->frame)) < 0) {\n        av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\\n");\n        return ret;\n    }\n    out = (float *)ractx->frame.data[0];\n    init_get_bits(&gb, buf, avctx->block_align * 8);\n    for (i=0; i < RA288_BLOCKS_PER_FRAME; 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        memcpy(out, &ractx->sp_hist[70 + 36], RA288_BLOCK_SIZE * sizeof(*out));\n        out += RA288_BLOCK_SIZE;\n        if ((i & 7) == 3) {\n            backward_filter(ractx, ractx->sp_hist, ractx->sp_rec, syn_window,\n                            ractx->sp_lpc, syn_bw_tab, 36, 40, 35, 70);\n            backward_filter(ractx, ractx->gain_hist, ractx->gain_rec, gain_window,\n                            ractx->gain_lpc, gain_bw_tab, 10, 8, 20, 28);\n        }\n    }\n    *got_frame_ptr   = 1;\n    *(AVFrame *)data = ractx->frame;\n    return avctx->block_align;\n}', 'static void backward_filter(RA288Context *ractx,\n                            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[MAX_BACKWARD_FILTER_ORDER+1];\n    do_hybrid_window(ractx, order, n, non_rec, temp, hist, rec, window);\n    if (!compute_lpc_coefs(temp, order, lpc, 0, 1, 1))\n        ractx->fdsp.vector_fmul(lpc, lpc, tab, FFALIGN(order, 16));\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}']