libavcodec/ra144.c:333: error: Buffer Overrun L2
  Offset: [0, 33] (⇐ [0, 24] + [0, 9]) Size: 32 by call to `do_output_subblock`.

libavcodec/ra144.c:289:1: Array declaration
287. 
288. /** Uncompress one block (20 bytes -> 160*2 bytes). */
289. static int ra144_decode_frame(AVCodecContext * avctx, void *vdata,
     ^
290.                               int *data_size, AVPacket *avpkt)
291. {

libavcodec/ra144.c:333:9: Call
331. 
332.     for (i=0; i < 4; i++) {
333.         do_output_subblock(ractx, block_coefs[i], refl_rms[i], &gb);
             ^
334. 
335.         for (j=0; j < BLOCKSIZE; j++)

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:209:9: Call
  207.            10*sizeof(*ractx->curr_sblock));
  208. 
  209.     if (ff_celp_lp_synthesis_filter(ractx->curr_sblock + 10, lpc_coefs,
               ^
  210.                                     block, BLOCKSIZE, 10, 1, 0xfff))
  211.         memset(ractx->curr_sblock, 0, 50*sizeof(*ractx->curr_sblock));

libavcodec/celp_filters.c:60:1: <Offset trace>
58. }
59. 
60. int ff_celp_lp_synthesis_filter(int16_t *out,
    ^
61.                                 const int16_t* filter_coeffs,
62.                                 const int16_t* in,

libavcodec/celp_filters.c:60:1: Parameter `filter_length`
    58. }
    59. 
    60. int ff_celp_lp_synthesis_filter(int16_t *out,
        ^
    61.                                 const int16_t* filter_coeffs,
    62.                                 const int16_t* in,

libavcodec/celp_filters.c:60:1: <Length trace>
58. }
59. 
60. int ff_celp_lp_synthesis_filter(int16_t *out,
    ^
61.                                 const int16_t* filter_coeffs,
62.                                 const int16_t* in,

libavcodec/celp_filters.c:60:1: Parameter `*filter_coeffs`
    58. }
    59. 
    60. int ff_celp_lp_synthesis_filter(int16_t *out,
        ^
    61.                                 const int16_t* filter_coeffs,
    62.                                 const int16_t* in,

libavcodec/celp_filters.c:73:20: Array access: Offset: [0, 33] (⇐ [0, 24] + [0, 9]) Size: 32 by call to `do_output_subblock` 
    71.         int sum = rounder;
    72.         for (i = 1; i <= filter_length; i++)
    73.             sum -= filter_coeffs[i-1] * out[n-i];
                           ^
    74. 
    75.         sum = (sum >> 12) + in[n];

int ff_celp_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;
    for (n = 0; n < buffer_length; n++) {
        int sum = rounder;
        for (i = 1; i <= filter_length; i++)
            sum -= filter_coeffs[i-1] * 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, AVPacket *avpkt)\n{\n    const uint8_t *buf = avpkt->data;\n    int buf_size = avpkt->size;\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, cba_idx? buffer_a: NULL,\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_celp_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_celp_lp_synthesis_filter(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    for (n = 0; n < buffer_length; n++) {\n        int sum = rounder;\n        for (i = 1; i <= filter_length; i++)\n            sum -= filter_coeffs[i-1] * out[n-i];\n        sum = (sum >> 12) + in[n];\n        if (sum + 0x8000 > 0xFFFFU) {\n            if (stop_on_overflow)\n                return 1;\n            sum = (sum >> 31) ^ 32767;\n        }\n        out[n] = sum;\n    }\n    return 0;\n}']