libavcodec/wmavoice.c:774: error: Buffer Overrun L2
  Offset: [19, 271] (⇐ 16 + [3, 255]) Size: 96 by call to `wiener_denoise`.

libavcodec/wmavoice.c:750:1: Parameter `s->synth_filter_out_buf[*]`
748.  * @param pitch Pitch of the input signal
749.  */
750. static void postfilter(WMAVoiceContext *s, const float *synth,
     ^
751.                        float *samples,    int size,
752.                        const float *lpcs, float *zero_exc_pf,

libavcodec/wmavoice.c:755:5: Assignment
753.                        int fcb_type,      int pitch)
754. {
755.     float synth_filter_in_buf[MAX_FRAMESIZE / 2],
         ^
756.           *synth_pf = &s->synth_filter_out_buf[MAX_LSPS_ALIGN16],
757.           *synth_filter_in = zero_exc_pf;

libavcodec/wmavoice.c:774:5: Call
772.            sizeof(synth_pf[0]) * s->lsps);
773. 
774.     wiener_denoise(s, fcb_type, synth_pf, size, lpcs);
         ^
775. 
776.     adaptive_gain_control(samples, synth_pf, synth, size, 0.99,

libavcodec/wmavoice.c:700:14: <Offset trace>
698.         synth_pf[0] *= coeffs[0];
699.         synth_pf[1] *= coeffs[1];
700.         for (n = 1; n < 128; n++) {
                  ^
701.             float v1 = synth_pf[n * 2], v2 = synth_pf[n * 2 + 1];
702.             synth_pf[n * 2]     = v1 * coeffs[n * 2] - v2 * coeffs[n * 2 + 1];

libavcodec/wmavoice.c:700:14: Assignment
  698.         synth_pf[0] *= coeffs[0];
  699.         synth_pf[1] *= coeffs[1];
  700.         for (n = 1; n < 128; n++) {
                    ^
  701.             float v1 = synth_pf[n * 2], v2 = synth_pf[n * 2 + 1];
  702.             synth_pf[n * 2]     = v1 * coeffs[n * 2] - v2 * coeffs[n * 2 + 1];

libavcodec/wmavoice.c:669:1: <Length trace>
667.  * @param lpcs LPCs used to synthesize this frame's speech data
668.  */
669. static void wiener_denoise(WMAVoiceContext *s, int fcb_type,
     ^
670.                            float *synth_pf, int size,
671.                            const float *lpcs)

libavcodec/wmavoice.c:669:1: Parameter `*synth_pf`
  667.  * @param lpcs LPCs used to synthesize this frame's speech data
  668.  */
  669. static void wiener_denoise(WMAVoiceContext *s, int fcb_type,
       ^
  670.                            float *synth_pf, int size,
  671.                            const float *lpcs)

libavcodec/wmavoice.c:701:46: Array access: Offset: [19, 271] (⇐ 16 + [3, 255]) Size: 96 by call to `wiener_denoise` 
  699.         synth_pf[1] *= coeffs[1];
  700.         for (n = 1; n < 128; n++) {
  701.             float v1 = synth_pf[n * 2], v2 = synth_pf[n * 2 + 1];
                                                    ^
  702.             synth_pf[n * 2]     = v1 * coeffs[n * 2] - v2 * coeffs[n * 2 + 1];
  703.             synth_pf[n * 2 + 1] = v2 * coeffs[n * 2] + v1 * coeffs[n * 2 + 1];

static void wiener_denoise(WMAVoiceContext *s, int fcb_type,
                           float *synth_pf, int size,
                           const float *lpcs)
{
    int remainder, lim, n;
    if (fcb_type != FCB_TYPE_SILENCE) {
        float *tilted_lpcs = s->tilted_lpcs_pf,
              *coeffs = s->denoise_coeffs_pf, tilt_mem = 0;
        tilted_lpcs[0]           = 1.0;
        memcpy(&tilted_lpcs[1], lpcs, sizeof(lpcs[0]) * s->lsps);
        memset(&tilted_lpcs[s->lsps + 1], 0,
               sizeof(tilted_lpcs[0]) * (128 - s->lsps - 1));
        ff_tilt_compensation(&tilt_mem, 0.7 * tilt_factor(lpcs, s->lsps),
                             tilted_lpcs, s->lsps + 2);
        remainder = FFMIN(127 - size, size - 1);
        calc_input_response(s, tilted_lpcs, fcb_type, coeffs, remainder);
        memset(&synth_pf[size], 0, sizeof(synth_pf[0]) * (128 - size));
        ff_rdft_calc(&s->rdft, synth_pf);
        ff_rdft_calc(&s->rdft, coeffs);
        synth_pf[0] *= coeffs[0];
        synth_pf[1] *= coeffs[1];
        for (n = 1; n < 128; n++) {
            float v1 = synth_pf[n * 2], v2 = synth_pf[n * 2 + 1];
            synth_pf[n * 2]     = v1 * coeffs[n * 2] - v2 * coeffs[n * 2 + 1];
            synth_pf[n * 2 + 1] = v2 * coeffs[n * 2] + v1 * coeffs[n * 2 + 1];
        }
        ff_rdft_calc(&s->irdft, synth_pf);
    }
    if (s->denoise_filter_cache_size) {
        lim = FFMIN(s->denoise_filter_cache_size, size);
        for (n = 0; n < lim; n++)
            synth_pf[n] += s->denoise_filter_cache[n];
        s->denoise_filter_cache_size -= lim;
        memmove(s->denoise_filter_cache, &s->denoise_filter_cache[size],
                sizeof(s->denoise_filter_cache[0]) * s->denoise_filter_cache_size);
    }
    if (fcb_type != FCB_TYPE_SILENCE) {
        lim = FFMIN(remainder, s->denoise_filter_cache_size);
        for (n = 0; n < lim; n++)
            s->denoise_filter_cache[n] += synth_pf[size + n];
        if (lim < remainder) {
            memcpy(&s->denoise_filter_cache[lim], &synth_pf[size + lim],
                   sizeof(s->denoise_filter_cache[0]) * (remainder - lim));
            s->denoise_filter_cache_size = remainder;
        }
    }
}
['static void postfilter(WMAVoiceContext *s, const float *synth,\n                       float *samples,    int size,\n                       const float *lpcs, float *zero_exc_pf,\n                       int fcb_type,      int pitch)\n{\n    float synth_filter_in_buf[MAX_FRAMESIZE / 2],\n          *synth_pf = &s->synth_filter_out_buf[MAX_LSPS_ALIGN16],\n          *synth_filter_in = zero_exc_pf;\n    assert(size <= MAX_FRAMESIZE / 2);\n    ff_celp_lp_zero_synthesis_filterf(zero_exc_pf, lpcs, synth, size, s->lsps);\n    if (fcb_type >= FCB_TYPE_AW_PULSES &&\n        !kalman_smoothen(s, pitch, zero_exc_pf, synth_filter_in_buf, size))\n        synth_filter_in = synth_filter_in_buf;\n    ff_celp_lp_synthesis_filterf(synth_pf, lpcs,\n                                 synth_filter_in, size, s->lsps);\n    memcpy(&synth_pf[-s->lsps], &synth_pf[size - s->lsps],\n           sizeof(synth_pf[0]) * s->lsps);\n    wiener_denoise(s, fcb_type, synth_pf, size, lpcs);\n    adaptive_gain_control(samples, synth_pf, synth, size, 0.99,\n                          &s->postfilter_agc);\n    if (s->dc_level > 8) {\n        ff_acelp_apply_order_2_transfer_function(samples, samples,\n            (const float[2]) { -1.99997,      1.0 },\n            (const float[2]) { -1.9330735188, 0.93589198496 },\n            0.93980580475, s->dcf_mem, size);\n    }\n}', 'static void wiener_denoise(WMAVoiceContext *s, int fcb_type,\n                           float *synth_pf, int size,\n                           const float *lpcs)\n{\n    int remainder, lim, n;\n    if (fcb_type != FCB_TYPE_SILENCE) {\n        float *tilted_lpcs = s->tilted_lpcs_pf,\n              *coeffs = s->denoise_coeffs_pf, tilt_mem = 0;\n        tilted_lpcs[0]           = 1.0;\n        memcpy(&tilted_lpcs[1], lpcs, sizeof(lpcs[0]) * s->lsps);\n        memset(&tilted_lpcs[s->lsps + 1], 0,\n               sizeof(tilted_lpcs[0]) * (128 - s->lsps - 1));\n        ff_tilt_compensation(&tilt_mem, 0.7 * tilt_factor(lpcs, s->lsps),\n                             tilted_lpcs, s->lsps + 2);\n        remainder = FFMIN(127 - size, size - 1);\n        calc_input_response(s, tilted_lpcs, fcb_type, coeffs, remainder);\n        memset(&synth_pf[size], 0, sizeof(synth_pf[0]) * (128 - size));\n        ff_rdft_calc(&s->rdft, synth_pf);\n        ff_rdft_calc(&s->rdft, coeffs);\n        synth_pf[0] *= coeffs[0];\n        synth_pf[1] *= coeffs[1];\n        for (n = 1; n < 128; n++) {\n            float v1 = synth_pf[n * 2], v2 = synth_pf[n * 2 + 1];\n            synth_pf[n * 2]     = v1 * coeffs[n * 2] - v2 * coeffs[n * 2 + 1];\n            synth_pf[n * 2 + 1] = v2 * coeffs[n * 2] + v1 * coeffs[n * 2 + 1];\n        }\n        ff_rdft_calc(&s->irdft, synth_pf);\n    }\n    if (s->denoise_filter_cache_size) {\n        lim = FFMIN(s->denoise_filter_cache_size, size);\n        for (n = 0; n < lim; n++)\n            synth_pf[n] += s->denoise_filter_cache[n];\n        s->denoise_filter_cache_size -= lim;\n        memmove(s->denoise_filter_cache, &s->denoise_filter_cache[size],\n                sizeof(s->denoise_filter_cache[0]) * s->denoise_filter_cache_size);\n    }\n    if (fcb_type != FCB_TYPE_SILENCE) {\n        lim = FFMIN(remainder, s->denoise_filter_cache_size);\n        for (n = 0; n < lim; n++)\n            s->denoise_filter_cache[n] += synth_pf[size + n];\n        if (lim < remainder) {\n            memcpy(&s->denoise_filter_cache[lim], &synth_pf[size + lim],\n                   sizeof(s->denoise_filter_cache[0]) * (remainder - lim));\n            s->denoise_filter_cache_size = remainder;\n        }\n    }\n}']