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

libavcodec/ra144.c:284:1: Array declaration
282. 
283. /** Uncompress one block (20 bytes -> 160*2 bytes). */
284. static int ra144_decode_frame(AVCodecContext * avctx, void *vdata,
     ^
285.                               int *data_size, const uint8_t *buf, int buf_size)
286. {

libavcodec/ra144.c:326:9: Call
324. 
325.     for (i=0; i < 4; i++) {
326.         do_output_subblock(ractx, block_coefs[i], refl_rms[i], &gb);
             ^
327. 
328.         for (j=0; j < BLOCKSIZE; j++)

libavcodec/ra144.c:171:1: Parameter `*lpc_coefs`
  169. }
  170. 
  171. static void do_output_subblock(RA144Context *ractx, const uint16_t  *lpc_coefs,
       ^
  172.                                int gval, GetBitContext *gb)
  173. {

libavcodec/ra144.c:204:9: Call
  202.            10*sizeof(*ractx->curr_sblock));
  203. 
  204.     if (ff_acelp_lp_synthesis_filter(ractx->curr_sblock + 10, lpc_coefs,
               ^
  205.                                      block, BLOCKSIZE, 10, 1, 0xfff))
  206.         memset(ractx->curr_sblock, 0, 50*sizeof(*ractx->curr_sblock));

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

libavcodec/acelp_filters.c:127:13: Assignment
    125.     {
    126.         int sum = rounder;
    127.         for(i=1; i<filter_length; i++)
                     ^
    128.             sum -= filter_coeffs[i] * out[n-i];
    129. 

libavcodec/acelp_filters.c:109:1: <Length trace>
107. }
108. 
109. int ff_acelp_lp_synthesis_filter(
     ^
110.         int16_t *out,
111.         const int16_t* filter_coeffs,

libavcodec/acelp_filters.c:109:1: Parameter `*filter_coeffs`
    107. }
    108. 
    109. int ff_acelp_lp_synthesis_filter(
         ^
    110.         int16_t *out,
    111.         const int16_t* filter_coeffs,

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

libavcodec/acelp_filters.c:128:20: Array access: Offset: [0, 33] (⇐ [-1, 23] + [1, 10]) Size: 32 by call to `do_output_subblock` 
    126.         int sum = rounder;
    127.         for(i=1; i<filter_length; i++)
    128.             sum -= filter_coeffs[i] * out[n-i];
                            ^
    129. 
    130.         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, j;\n    int16_t *data = vdata;\n    unsigned int energy;\n    RA144Context *ractx = avctx->priv_data;\n    GetBitContext gb;\n    if (*data_size < 2*160)\n        return -1;\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], 1, 1, ractx->old_energy);\n    refl_rms[1] = interp(ractx, block_coefs[1], 2, energy <= ractx->old_energy,\n                    t_sqrt(energy*ractx->old_energy) >> 12);\n    refl_rms[2] = interp(ractx, block_coefs[2], 3, 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 (i=0; i < 4; i++) {\n        do_output_subblock(ractx, block_coefs[i], refl_rms[i], &gb);\n        for (j=0; j < BLOCKSIZE; j++)\n            *data++ = av_clip_int16(ractx->curr_sblock[j + 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    if (ff_acelp_lp_synthesis_filter(ractx->curr_sblock + 10, lpc_coefs,\n                                     block, BLOCKSIZE, 10, 1, 0xfff))\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}']