libavcodec/ra144.c:342: error: Buffer Overrun L2
  Offset: [0, 33] (⇐ [-1, 23] + [1, 10]) Size: 32 by call to `do_output_subblock`.

libavcodec/ra144.c:303:1: Array declaration
301. 
302. /** Uncompress one block (20 bytes -> 160*2 bytes) */
303. static int ra144_decode_frame(AVCodecContext * avctx, void *vdata,
     ^
304.                               int *data_size, const uint8_t *buf, int buf_size)
305. {

libavcodec/ra144.c:342:9: Call
340. 
341.     for (c=0; c<4; c++) {
342.         do_output_subblock(ractx, block_coefs[c], refl_rms[c], &gb);
             ^
343. 
344.         for (i=0; i<BLOCKSIZE; i++)

libavcodec/ra144.c:176:1: Parameter `*lpc_coefs`
  174. }
  175. 
  176. static void do_output_subblock(RA144Context *ractx, const uint16_t  *lpc_coefs,
       ^
  177.                                int gval, GetBitContext *gb)
  178. {

libavcodec/ra144.c:211:9: Call
  209.            BLOCKSIZE*sizeof(*ractx->curr_sblock));
  210. 
  211.     if (ff_acelp_lp_synthesis_filter(
               ^
  212.                                      ractx->curr_sblock + 10, lpc_coefs,
  213.                                      ractx->curr_sblock + 10, BLOCKSIZE,

libavcodec/acelp_filters.c:131:13: <Offset trace>
129.     {
130.         int sum = rounder;
131.         for(i=1; i<filter_length; i++)
                 ^
132.             sum -= filter_coeffs[i] * out[n-i];
133. 

libavcodec/acelp_filters.c:131:13: Assignment
    129.     {
    130.         int sum = rounder;
    131.         for(i=1; i<filter_length; i++)
                     ^
    132.             sum -= filter_coeffs[i] * out[n-i];
    133. 

libavcodec/acelp_filters.c:113:1: <Length trace>
111. }
112. 
113. int ff_acelp_lp_synthesis_filter(
     ^
114.         int16_t *out,
115.         const int16_t* filter_coeffs,

libavcodec/acelp_filters.c:113:1: Parameter `*filter_coeffs`
    111. }
    112. 
    113. int ff_acelp_lp_synthesis_filter(
         ^
    114.         int16_t *out,
    115.         const int16_t* filter_coeffs,

libavcodec/acelp_filters.c:126:5: Assignment
    124.     // These two lines are to avoid a -1 subtraction in the main loop
    125.     filter_length++;
    126.     filter_coeffs--;
             ^
    127. 
    128.     for(n=0; n<buffer_length; n++)

libavcodec/acelp_filters.c:132:20: Array access: Offset: [0, 33] (⇐ [-1, 23] + [1, 10]) Size: 32 by call to `do_output_subblock` 
    130.         int sum = rounder;
    131.         for(i=1; i<filter_length; i++)
    132.             sum -= filter_coeffs[i] * out[n-i];
                            ^
    133. 
    134.         sum = (sum >> 12) + in[n];

int ff_acelp_lp_synthesis_filter(
        int16_t *out,
        const int16_t* filter_coeffs,
        const int16_t* in,
        int buffer_length,
        int filter_length,
        int stop_on_overflow,
        int rounder)
{
    int i,n;
    filter_length++;
    filter_coeffs--;
    for(n=0; n<buffer_length; n++)
    {
        int sum = rounder;
        for(i=1; i<filter_length; i++)
            sum -= filter_coeffs[i] * out[n-i];
        sum = (sum >> 12) + in[n];
        if(sum + 0x8000 > 0xFFFFU)
        {
            if(stop_on_overflow)
                return 1;
            sum = (sum >> 31) ^ 32767;
        }
        out[n] = sum;
    }
    return 0;
}
['static int ra144_decode_frame(AVCodecContext * avctx, void *vdata,\n                              int *data_size, const uint8_t *buf, int buf_size)\n{\n    static const uint8_t sizes[10] = {6, 5, 5, 4, 4, 3, 3, 3, 3, 2};\n    unsigned int refl_rms[4];\n    uint16_t block_coefs[4][30];\n    unsigned int lpc_refl[10];\n    int i, c;\n    int16_t *data = vdata;\n    unsigned int energy;\n    RA144Context *ractx = avctx->priv_data;\n    GetBitContext gb;\n    if(buf_size < 20) {\n        av_log(avctx, AV_LOG_ERROR,\n               "Frame too small (%d bytes). Truncated file?\\n", buf_size);\n        *data_size = 0;\n        return buf_size;\n    }\n    init_get_bits(&gb, buf, 20 * 8);\n    for (i=0; i<10; i++)\n        lpc_refl[i] = lpc_refl_cb[i][get_bits(&gb, sizes[i])];\n    eval_coefs(ractx->lpc_coef[0], lpc_refl);\n    ractx->lpc_refl_rms[0] = rms(lpc_refl);\n    energy = energy_tab[get_bits(&gb, 5)];\n    refl_rms[0] = interp(ractx, block_coefs[0], 0, 1, ractx->old_energy);\n    refl_rms[1] = interp(ractx, block_coefs[1], 1, energy <= ractx->old_energy,\n                    t_sqrt(energy*ractx->old_energy) >> 12);\n    refl_rms[2] = interp(ractx, block_coefs[2], 2, 0, energy);\n    refl_rms[3] = rescale_rms(ractx->lpc_refl_rms[0], energy);\n    int_to_int16(block_coefs[3], ractx->lpc_coef[0]);\n    for (c=0; c<4; c++) {\n        do_output_subblock(ractx, block_coefs[c], refl_rms[c], &gb);\n        for (i=0; i<BLOCKSIZE; i++)\n            *data++ = av_clip_int16(ractx->curr_sblock[i + 10] << 2);\n    }\n    ractx->old_energy = energy;\n    ractx->lpc_refl_rms[1] = ractx->lpc_refl_rms[0];\n    FFSWAP(unsigned int *, ractx->lpc_coef[0], ractx->lpc_coef[1]);\n    *data_size = 2*160;\n    return 20;\n}', 'static void do_output_subblock(RA144Context *ractx, const uint16_t  *lpc_coefs,\n                               int gval, GetBitContext *gb)\n{\n    uint16_t buffer_a[40];\n    uint16_t *block;\n    int cba_idx = get_bits(gb, 7);\n    int gain    = get_bits(gb, 8);\n    int cb1_idx = get_bits(gb, 7);\n    int cb2_idx = get_bits(gb, 7);\n    int m[3];\n    if (cba_idx) {\n        cba_idx += BLOCKSIZE/2 - 1;\n        copy_and_dup(buffer_a, ractx->adapt_cb, cba_idx);\n        m[0] = (irms(buffer_a) * gval) >> 12;\n    } else {\n        m[0] = 0;\n    }\n    m[1] = (cb1_base[cb1_idx] * gval) >> 8;\n    m[2] = (cb2_base[cb2_idx] * gval) >> 8;\n    memmove(ractx->adapt_cb, ractx->adapt_cb + BLOCKSIZE,\n            (BUFFERSIZE - BLOCKSIZE) * sizeof(*ractx->adapt_cb));\n    block = ractx->adapt_cb + BUFFERSIZE - BLOCKSIZE;\n    add_wav(block, gain, cba_idx, m, buffer_a,\n            cb1_vects[cb1_idx], cb2_vects[cb2_idx]);\n    memcpy(ractx->curr_sblock, ractx->curr_sblock + 40,\n           10*sizeof(*ractx->curr_sblock));\n    memcpy(ractx->curr_sblock + 10, block,\n           BLOCKSIZE*sizeof(*ractx->curr_sblock));\n    if (ff_acelp_lp_synthesis_filter(\n                                     ractx->curr_sblock + 10, lpc_coefs,\n                                     ractx->curr_sblock + 10, BLOCKSIZE,\n                                     10, 1, 0xfff)\n        )\n        memset(ractx->curr_sblock, 0, 50*sizeof(*ractx->curr_sblock));\n}', 'int ff_acelp_lp_synthesis_filter(\n        int16_t *out,\n        const int16_t* filter_coeffs,\n        const int16_t* in,\n        int buffer_length,\n        int filter_length,\n        int stop_on_overflow,\n        int rounder)\n{\n    int i,n;\n    filter_length++;\n    filter_coeffs--;\n    for(n=0; n<buffer_length; n++)\n    {\n        int sum = rounder;\n        for(i=1; i<filter_length; i++)\n            sum -= filter_coeffs[i] * out[n-i];\n        sum = (sum >> 12) + in[n];\n        if(sum + 0x8000 > 0xFFFFU)\n        {\n            if(stop_on_overflow)\n                return 1;\n            sum = (sum >> 31) ^ 32767;\n        }\n        out[n] = sum;\n    }\n    return 0;\n}']