libavcodec/opus_silk.c:1055: error: Buffer Overrun L2
  Offset: [0, 14] Size: 9.

libavcodec/opus_silk.c:1034:10: <Offset trace>
1032.     /* obtain LSF stage-1 and stage-2 indices */
1033.     lsf_i1 = opus_rc_getsymbol(rc, silk_model_lsf_s1[s->wb][voiced]);
1034.     for (i = 0; i < order; i++) {
               ^
1035.         int index = s->wb ? silk_lsf_s2_model_sel_wb  [lsf_i1][i] :
1036.                             silk_lsf_s2_model_sel_nbmb[lsf_i1][i];

libavcodec/opus_silk.c:1034:10: Assignment
1032.     /* obtain LSF stage-1 and stage-2 indices */
1033.     lsf_i1 = opus_rc_getsymbol(rc, silk_model_lsf_s1[s->wb][voiced]);
1034.     for (i = 0; i < order; i++) {
               ^
1035.         int index = s->wb ? silk_lsf_s2_model_sel_wb  [lsf_i1][i] :
1036.                             silk_lsf_s2_model_sel_nbmb[lsf_i1][i];

libavcodec/opus_silk.c:426:1: <Length trace>
424. };
425. 
426. static const uint8_t silk_lsf_pred_weights_nbmb[2][9] = {
     ^
427.     {179, 138, 140, 148, 151, 149, 153, 151, 163},
428.     {116,  67,  82,  59,  92,  72, 100,  89,  92}

libavcodec/opus_silk.c:426:1: Array declaration
424. };
425. 
426. static const uint8_t silk_lsf_pred_weights_nbmb[2][9] = {
     ^
427.     {179, 138, 140, 148, 151, 149, 153, 151, 163},
428.     {116,  67,  82,  59,  92,  72, 100,  89,  92}

libavcodec/opus_silk.c:1055:34: Array access: Offset: [0, 14] Size: 9
1053.         if (i + 1 < order) {
1054.             int weight = s->wb ? silk_lsf_pred_weights_wb  [silk_lsf_weight_sel_wb  [lsf_i1][i]][i] :
1055.                                  silk_lsf_pred_weights_nbmb[silk_lsf_weight_sel_nbmb[lsf_i1][i]][i];
                                       ^
1056.             lsf_res[i] += (lsf_res[i+1] * weight) >> 8;
1057.         }

static inline void silk_decode_lpc(SilkContext *s, SilkFrame *frame,
                                   OpusRangeCoder *rc,
                                   float lpc_leadin[16], float lpc[16],
                                   int *lpc_order, int *has_lpc_leadin, int voiced)
{
    int i;
    int order;
    int8_t  lsf_i1, lsf_i2[16];
    int16_t lsf_res[16];
    int16_t nlsf[16];
    *lpc_order = order = s->wb ? 16 : 10;
    lsf_i1 = opus_rc_getsymbol(rc, silk_model_lsf_s1[s->wb][voiced]);
    for (i = 0; i < order; i++) {
        int index = s->wb ? silk_lsf_s2_model_sel_wb  [lsf_i1][i] :
                            silk_lsf_s2_model_sel_nbmb[lsf_i1][i];
        lsf_i2[i] = opus_rc_getsymbol(rc, silk_model_lsf_s2[index]) - 4;
        if (lsf_i2[i] == -4)
            lsf_i2[i] -= opus_rc_getsymbol(rc, silk_model_lsf_s2_ext);
        else if (lsf_i2[i] == 4)
            lsf_i2[i] += opus_rc_getsymbol(rc, silk_model_lsf_s2_ext);
    }
    for (i = order - 1; i >= 0; i--) {
        int qstep = s->wb ? 9830 : 11796;
        lsf_res[i] = lsf_i2[i] * 1024;
        if (lsf_i2[i] < 0)      lsf_res[i] += 102;
        else if (lsf_i2[i] > 0) lsf_res[i] -= 102;
        lsf_res[i] = (lsf_res[i] * qstep) >> 16;
        if (i + 1 < order) {
            int weight = s->wb ? silk_lsf_pred_weights_wb  [silk_lsf_weight_sel_wb  [lsf_i1][i]][i] :
                                 silk_lsf_pred_weights_nbmb[silk_lsf_weight_sel_nbmb[lsf_i1][i]][i];
            lsf_res[i] += (lsf_res[i+1] * weight) >> 8;
        }
    }
    for (i = 0; i < order; i++) {
        const uint8_t * codebook = s->wb ? silk_lsf_codebook_wb  [lsf_i1] :
                                           silk_lsf_codebook_nbmb[lsf_i1];
        int cur, prev, next, weight_sq, weight, ipart, fpart, y, value;
        cur = codebook[i];
        prev = i ? codebook[i - 1] : 0;
        next = i + 1 < order ? codebook[i + 1] : 256;
        weight_sq = (1024 / (cur - prev) + 1024 / (next - cur)) << 16;
        ipart = opus_ilog(weight_sq);
        fpart = (weight_sq >> (ipart-8)) & 127;
        y = ((ipart & 1) ? 32768 : 46214) >> ((32 - ipart)>>1);
        weight = y + ((213 * fpart * y) >> 16);
        value = cur * 128 + (lsf_res[i] * 16384) / weight;
        nlsf[i] = av_clip(value, 0, 32767);
    }
    silk_stabilize_lsf(nlsf, order, s->wb ? silk_lsf_min_spacing_wb :
                                            silk_lsf_min_spacing_nbmb);
    *has_lpc_leadin = 0;
    if (s->subframes == 4) {
        int offset = opus_rc_getsymbol(rc, silk_model_lsf_interpolation_offset);
        if (offset != 4 && frame->coded) {
            *has_lpc_leadin = 1;
            if (offset != 0) {
                int16_t nlsf_leadin[16];
                for (i = 0; i < order; i++)
                    nlsf_leadin[i] = frame->nlsf[i] +
                        ((nlsf[i] - frame->nlsf[i]) * offset >> 2);
                silk_lsf2lpc(nlsf_leadin, lpc_leadin, order);
            } else
                memcpy(lpc_leadin, frame->lpc, 16 * sizeof(float));
        } else
            offset = 4;
        s->nlsf_interp_factor = offset;
        silk_lsf2lpc(nlsf, lpc, order);
    } else {
        s->nlsf_interp_factor = 4;
        silk_lsf2lpc(nlsf, lpc, order);
    }
    memcpy(frame->nlsf, nlsf, order * sizeof(nlsf[0]));
    memcpy(frame->lpc,  lpc,  order * sizeof(lpc[0]));
}
['static inline void silk_decode_lpc(SilkContext *s, SilkFrame *frame,\n                                   OpusRangeCoder *rc,\n                                   float lpc_leadin[16], float lpc[16],\n                                   int *lpc_order, int *has_lpc_leadin, int voiced)\n{\n    int i;\n    int order;\n    int8_t  lsf_i1, lsf_i2[16];\n    int16_t lsf_res[16];\n    int16_t nlsf[16];\n    *lpc_order = order = s->wb ? 16 : 10;\n    lsf_i1 = opus_rc_getsymbol(rc, silk_model_lsf_s1[s->wb][voiced]);\n    for (i = 0; i < order; i++) {\n        int index = s->wb ? silk_lsf_s2_model_sel_wb  [lsf_i1][i] :\n                            silk_lsf_s2_model_sel_nbmb[lsf_i1][i];\n        lsf_i2[i] = opus_rc_getsymbol(rc, silk_model_lsf_s2[index]) - 4;\n        if (lsf_i2[i] == -4)\n            lsf_i2[i] -= opus_rc_getsymbol(rc, silk_model_lsf_s2_ext);\n        else if (lsf_i2[i] == 4)\n            lsf_i2[i] += opus_rc_getsymbol(rc, silk_model_lsf_s2_ext);\n    }\n    for (i = order - 1; i >= 0; i--) {\n        int qstep = s->wb ? 9830 : 11796;\n        lsf_res[i] = lsf_i2[i] * 1024;\n        if (lsf_i2[i] < 0)      lsf_res[i] += 102;\n        else if (lsf_i2[i] > 0) lsf_res[i] -= 102;\n        lsf_res[i] = (lsf_res[i] * qstep) >> 16;\n        if (i + 1 < order) {\n            int weight = s->wb ? silk_lsf_pred_weights_wb  [silk_lsf_weight_sel_wb  [lsf_i1][i]][i] :\n                                 silk_lsf_pred_weights_nbmb[silk_lsf_weight_sel_nbmb[lsf_i1][i]][i];\n            lsf_res[i] += (lsf_res[i+1] * weight) >> 8;\n        }\n    }\n    for (i = 0; i < order; i++) {\n        const uint8_t * codebook = s->wb ? silk_lsf_codebook_wb  [lsf_i1] :\n                                           silk_lsf_codebook_nbmb[lsf_i1];\n        int cur, prev, next, weight_sq, weight, ipart, fpart, y, value;\n        cur = codebook[i];\n        prev = i ? codebook[i - 1] : 0;\n        next = i + 1 < order ? codebook[i + 1] : 256;\n        weight_sq = (1024 / (cur - prev) + 1024 / (next - cur)) << 16;\n        ipart = opus_ilog(weight_sq);\n        fpart = (weight_sq >> (ipart-8)) & 127;\n        y = ((ipart & 1) ? 32768 : 46214) >> ((32 - ipart)>>1);\n        weight = y + ((213 * fpart * y) >> 16);\n        value = cur * 128 + (lsf_res[i] * 16384) / weight;\n        nlsf[i] = av_clip(value, 0, 32767);\n    }\n    silk_stabilize_lsf(nlsf, order, s->wb ? silk_lsf_min_spacing_wb :\n                                            silk_lsf_min_spacing_nbmb);\n    *has_lpc_leadin = 0;\n    if (s->subframes == 4) {\n        int offset = opus_rc_getsymbol(rc, silk_model_lsf_interpolation_offset);\n        if (offset != 4 && frame->coded) {\n            *has_lpc_leadin = 1;\n            if (offset != 0) {\n                int16_t nlsf_leadin[16];\n                for (i = 0; i < order; i++)\n                    nlsf_leadin[i] = frame->nlsf[i] +\n                        ((nlsf[i] - frame->nlsf[i]) * offset >> 2);\n                silk_lsf2lpc(nlsf_leadin, lpc_leadin, order);\n            } else\n                memcpy(lpc_leadin, frame->lpc, 16 * sizeof(float));\n        } else\n            offset = 4;\n        s->nlsf_interp_factor = offset;\n        silk_lsf2lpc(nlsf, lpc, order);\n    } else {\n        s->nlsf_interp_factor = 4;\n        silk_lsf2lpc(nlsf, lpc, order);\n    }\n    memcpy(frame->nlsf, nlsf, order * sizeof(nlsf[0]));\n    memcpy(frame->lpc,  lpc,  order * sizeof(lpc[0]));\n}']