libavcodec/wmavoice.c:1788: error: Buffer Overrun L1
  Offset: [12, 17] (⇐ 12 + [0, 5]) Size: 3 by call to `dequant_lsp16r`.

libavcodec/wmavoice.c:1732:1: Array declaration
1730.  *         fully parse the superframe
1731.  */
1732. static int synth_superframe(AVCodecContext *ctx, int *got_frame_ptr)
      ^
1733. {
1734.     WMAVoiceContext *s = ctx->priv_data;

libavcodec/wmavoice.c:1788:13: Call
1786.             dequant_lsp10r(gb, lsps[2], prev_lsps, a1, a2, s->lsp_q_mode);
1787.         } else /* s->lsps == 16 */
1788.             dequant_lsp16r(gb, lsps[2], prev_lsps, a1, a2, s->lsp_q_mode);
                  ^
1789. 
1790.         for (n = 0; n < s->lsps; n++) {

libavcodec/wmavoice.c:947:1: Parameter `*i_lsps`
  945.  * generate LSPs for the other frames from them (residual coding).
  946.  */
  947. static void dequant_lsp16r(GetBitContext *gb,
       ^
  948.                            double *i_lsps, const double *old,
  949.                            double *a1, double *a2, int q_mode)

libavcodec/wmavoice.c:963:5: Call
  961.     int n;
  962. 
  963.     dequant_lsp16i(gb, i_lsps);
           ^
  964. 
  965.     interpol = get_bits(gb, 5);

libavcodec/wmavoice.c:914:1: Parameter `*lsps`
    912.  * Parse 16 independently-coded LSPs.
    913.  */
    914. static void dequant_lsp16i(GetBitContext *gb, double *lsps)
         ^
    915. {
    916.     static const uint16_t vec_sizes[5] = { 256, 64, 128, 64, 128 };

libavcodec/wmavoice.c:939:5: Call
    937.     dequant_lsps(&lsps[5],  5, &v[2], &vec_sizes[2], 2,
    938.                  wmavoice_dq_lsp16i2, &mul_lsf[2], &base_lsf[2]);
    939.     dequant_lsps(&lsps[10], 6, &v[4], &vec_sizes[4], 1,
             ^
    940.                  wmavoice_dq_lsp16i3, &mul_lsf[4], &base_lsf[4]);
    941. }

libavcodec/wmavoice.c:820:1: <Offset trace>
818.  * @param base_q base (lowest) LSF values
819.  */
820. static void dequant_lsps(double *lsps, int num,
     ^
821.                          const uint16_t *values,
822.                          const uint16_t *sizes,

libavcodec/wmavoice.c:820:1: Parameter `num`
      818.  * @param base_q base (lowest) LSF values
      819.  */
      820. static void dequant_lsps(double *lsps, int num,
           ^
      821.                          const uint16_t *values,
      822.                          const uint16_t *sizes,

libavcodec/wmavoice.c:820:1: <Length trace>
818.  * @param base_q base (lowest) LSF values
819.  */
820. static void dequant_lsps(double *lsps, int num,
     ^
821.                          const uint16_t *values,
822.                          const uint16_t *sizes,

libavcodec/wmavoice.c:820:1: Parameter `*lsps`
      818.  * @param base_q base (lowest) LSF values
      819.  */
      820. static void dequant_lsps(double *lsps, int num,
           ^
      821.                          const uint16_t *values,
      822.                          const uint16_t *sizes,

libavcodec/wmavoice.c:835:13: Array access: Offset: [12, 17] (⇐ 12 + [0, 5]) Size: 3 by call to `dequant_lsp16r` 
      833. 
      834.         for (m = 0; m < num; m++)
      835.             lsps[m] += base + mul * t_off[m];
                       ^
      836. 
      837.         table += sizes[n] * num;

static void dequant_lsps(double *lsps, int num,
                         const uint16_t *values,
                         const uint16_t *sizes,
                         int n_stages, const uint8_t *table,
                         const double *mul_q,
                         const double *base_q)
{
    int n, m;
    memset(lsps, 0, num * sizeof(*lsps));
    for (n = 0; n < n_stages; n++) {
        const uint8_t *t_off = &table[values[n] * num];
        double base = base_q[n], mul = mul_q[n];
        for (m = 0; m < num; m++)
            lsps[m] += base + mul * t_off[m];
        table += sizes[n] * num;
    }
}
['static int synth_superframe(AVCodecContext *ctx, int *got_frame_ptr)\n{\n    WMAVoiceContext *s = ctx->priv_data;\n    GetBitContext *gb = &s->gb, s_gb;\n    int n, res, n_samples = 480;\n    double lsps[MAX_FRAMES][MAX_LSPS];\n    const double *mean_lsf = s->lsps == 16 ?\n        wmavoice_mean_lsf16[s->lsp_def_mode] : wmavoice_mean_lsf10[s->lsp_def_mode];\n    float excitation[MAX_SIGNAL_HISTORY + MAX_SFRAMESIZE + 12];\n    float synth[MAX_LSPS + MAX_SFRAMESIZE];\n    float *samples;\n    memcpy(synth,      s->synth_history,\n           s->lsps             * sizeof(*synth));\n    memcpy(excitation, s->excitation_history,\n           s->history_nsamples * sizeof(*excitation));\n    if (s->sframe_cache_size > 0) {\n        gb = &s_gb;\n        init_get_bits(gb, s->sframe_cache, s->sframe_cache_size);\n        s->sframe_cache_size = 0;\n    }\n    if ((res = check_bits_for_superframe(gb, s)) == 1) {\n        *got_frame_ptr = 0;\n        return 1;\n    }\n    if (!get_bits1(gb)) {\n        av_log_missing_feature(ctx, "WMAPro-in-WMAVoice support", 1);\n        return -1;\n    }\n    if (get_bits1(gb)) {\n        if ((n_samples = get_bits(gb, 12)) > 480) {\n            av_log(ctx, AV_LOG_ERROR,\n                   "Superframe encodes >480 samples (%d), not allowed\\n",\n                   n_samples);\n            return -1;\n        }\n    }\n    if (s->has_residual_lsps) {\n        double prev_lsps[MAX_LSPS], a1[MAX_LSPS * 2], a2[MAX_LSPS * 2];\n        for (n = 0; n < s->lsps; n++)\n            prev_lsps[n] = s->prev_lsps[n] - mean_lsf[n];\n        if (s->lsps == 10) {\n            dequant_lsp10r(gb, lsps[2], prev_lsps, a1, a2, s->lsp_q_mode);\n        } else\n            dequant_lsp16r(gb, lsps[2], prev_lsps, a1, a2, s->lsp_q_mode);\n        for (n = 0; n < s->lsps; n++) {\n            lsps[0][n]  = mean_lsf[n] + (a1[n]           - a2[n * 2]);\n            lsps[1][n]  = mean_lsf[n] + (a1[s->lsps + n] - a2[n * 2 + 1]);\n            lsps[2][n] += mean_lsf[n];\n        }\n        for (n = 0; n < 3; n++)\n            stabilize_lsps(lsps[n], s->lsps);\n    }\n    s->frame.nb_samples = 480;\n    if ((res = ctx->get_buffer(ctx, &s->frame)) < 0) {\n        av_log(ctx, AV_LOG_ERROR, "get_buffer() failed\\n");\n        return res;\n    }\n    s->frame.nb_samples = n_samples;\n    samples = (float *)s->frame.data[0];\n    for (n = 0; n < 3; n++) {\n        if (!s->has_residual_lsps) {\n            int m;\n            if (s->lsps == 10) {\n                dequant_lsp10i(gb, lsps[n]);\n            } else\n                dequant_lsp16i(gb, lsps[n]);\n            for (m = 0; m < s->lsps; m++)\n                lsps[n][m] += mean_lsf[m];\n            stabilize_lsps(lsps[n], s->lsps);\n        }\n        if ((res = synth_frame(ctx, gb, n,\n                               &samples[n * MAX_FRAMESIZE],\n                               lsps[n], n == 0 ? s->prev_lsps : lsps[n - 1],\n                               &excitation[s->history_nsamples + n * MAX_FRAMESIZE],\n                               &synth[s->lsps + n * MAX_FRAMESIZE]))) {\n            *got_frame_ptr = 0;\n            return res;\n        }\n    }\n    if (get_bits1(gb)) {\n        res = get_bits(gb, 4);\n        skip_bits(gb, 10 * (res + 1));\n    }\n    *got_frame_ptr = 1;\n    memcpy(s->prev_lsps,           lsps[2],\n           s->lsps             * sizeof(*s->prev_lsps));\n    memcpy(s->synth_history,      &synth[MAX_SFRAMESIZE],\n           s->lsps             * sizeof(*synth));\n    memcpy(s->excitation_history, &excitation[MAX_SFRAMESIZE],\n           s->history_nsamples * sizeof(*excitation));\n    if (s->do_apf)\n        memmove(s->zero_exc_pf,       &s->zero_exc_pf[MAX_SFRAMESIZE],\n                s->history_nsamples * sizeof(*s->zero_exc_pf));\n    return 0;\n}', 'static void dequant_lsp16r(GetBitContext *gb,\n                           double *i_lsps, const double *old,\n                           double *a1, double *a2, int q_mode)\n{\n    static const uint16_t vec_sizes[3] = { 128, 128, 128 };\n    static const double mul_lsf[3] = {\n        1.2232979501e-3,   1.4062241527e-3,   1.6114744851e-3\n    };\n    static const double base_lsf[3] = {\n        M_PI * -5.5830e-2, M_PI * -5.2908e-2, M_PI * -5.4776e-2\n    };\n    const float (*ipol_tab)[2][16] = q_mode ?\n        wmavoice_lsp16_intercoeff_b : wmavoice_lsp16_intercoeff_a;\n    uint16_t interpol, v[3];\n    int n;\n    dequant_lsp16i(gb, i_lsps);\n    interpol = get_bits(gb, 5);\n    v[0]     = get_bits(gb, 7);\n    v[1]     = get_bits(gb, 7);\n    v[2]     = get_bits(gb, 7);\n    for (n = 0; n < 16; n++) {\n        double delta = old[n] - i_lsps[n];\n        a1[n]        = ipol_tab[interpol][0][n] * delta + i_lsps[n];\n        a1[16 + n]   = ipol_tab[interpol][1][n] * delta + i_lsps[n];\n    }\n    dequant_lsps( a2,     10,  v,     vec_sizes,    1,\n                 wmavoice_dq_lsp16r1,  mul_lsf,     base_lsf);\n    dequant_lsps(&a2[10], 10, &v[1], &vec_sizes[1], 1,\n                 wmavoice_dq_lsp16r2, &mul_lsf[1], &base_lsf[1]);\n    dequant_lsps(&a2[20], 12, &v[2], &vec_sizes[2], 1,\n                 wmavoice_dq_lsp16r3, &mul_lsf[2], &base_lsf[2]);\n}', 'static void dequant_lsp16i(GetBitContext *gb, double *lsps)\n{\n    static const uint16_t vec_sizes[5] = { 256, 64, 128, 64, 128 };\n    static const double mul_lsf[5] = {\n        3.3439586280e-3,    6.9908173703e-4,\n        3.3216608306e-3,    1.0334960326e-3,\n        3.1899104283e-3\n    };\n    static const double base_lsf[5] = {\n        M_PI * -1.27576e-1, M_PI * -2.4292e-2,\n        M_PI * -1.28094e-1, M_PI * -3.2128e-2,\n        M_PI * -1.29816e-1\n    };\n    uint16_t v[5];\n    v[0] = get_bits(gb, 8);\n    v[1] = get_bits(gb, 6);\n    v[2] = get_bits(gb, 7);\n    v[3] = get_bits(gb, 6);\n    v[4] = get_bits(gb, 7);\n    dequant_lsps( lsps,     5,  v,     vec_sizes,    2,\n                 wmavoice_dq_lsp16i1,  mul_lsf,     base_lsf);\n    dequant_lsps(&lsps[5],  5, &v[2], &vec_sizes[2], 2,\n                 wmavoice_dq_lsp16i2, &mul_lsf[2], &base_lsf[2]);\n    dequant_lsps(&lsps[10], 6, &v[4], &vec_sizes[4], 1,\n                 wmavoice_dq_lsp16i3, &mul_lsf[4], &base_lsf[4]);\n}', 'static void dequant_lsps(double *lsps, int num,\n                         const uint16_t *values,\n                         const uint16_t *sizes,\n                         int n_stages, const uint8_t *table,\n                         const double *mul_q,\n                         const double *base_q)\n{\n    int n, m;\n    memset(lsps, 0, num * sizeof(*lsps));\n    for (n = 0; n < n_stages; n++) {\n        const uint8_t *t_off = &table[values[n] * num];\n        double base = base_q[n], mul = mul_q[n];\n        for (m = 0; m < num; m++)\n            lsps[m] += base + mul * t_off[m];\n        table += sizes[n] * num;\n    }\n}']