libavcodec/amrwbdec.c:510: error: Buffer Overrun L2
  Offset: [3, 6] (⇐ [2, 5] + 1) Size: 4 by call to `decode_4p_track`.

libavcodec/amrwbdec.c:476:1: Array declaration
474.  * @param[in]  mode                Mode of the current frame
475.  */
476. static void decode_fixed_vector(float *fixed_vector, const uint16_t *pulse_hi,
     ^
477.                                 const uint16_t *pulse_lo, const enum Mode mode)
478. {

libavcodec/amrwbdec.c:510:13: Call
508.     case MODE_18k25:
509.         for (i = 0; i < 4; i++)
510.             decode_4p_track(sig_pos[i], (int) pulse_lo[i] +
                 ^
511.                            ((int) pulse_hi[i] << 14), 4, 1);
512.         break;

libavcodec/amrwbdec.c:386:1: Parameter `*out`
  384. }
  385. 
  386. static void decode_4p_track(int *out, int code, int m, int off) ///code: 4m bits
       ^
  387. {
  388.     int half_4p, subhalf_2p;

libavcodec/amrwbdec.c:398:9: Call
  396.         decode_2p_track(out, BIT_STR(code, 0, 2*m - 3),
  397.                         m - 2, off + half_4p + subhalf_2p);
  398.         decode_2p_track(out + 2, BIT_STR(code, 2*m - 2, 2*m - 1),
               ^
  399.                         m - 1, off + half_4p);
  400.         break;

libavcodec/amrwbdec.c:367:1: <Length trace>
365. }
366. 
367. static inline void decode_2p_track(int *out, int code, int m, int off) ///code: 2m+1 bits
     ^
368. {
369.     int pos0 = BIT_STR(code, m, m) + off;

libavcodec/amrwbdec.c:367:1: Parameter `*out`
    365. }
    366. 
    367. static inline void decode_2p_track(int *out, int code, int m, int off) ///code: 2m+1 bits
         ^
    368. {
    369.     int pos0 = BIT_STR(code, m, m) + off;

libavcodec/amrwbdec.c:373:5: Array access: Offset: [3, 6] (⇐ [2, 5] + 1) Size: 4 by call to `decode_4p_track` 
    371. 
    372.     out[0] = BIT_POS(code, 2*m) ? -pos0 : pos0;
    373.     out[1] = BIT_POS(code, 2*m) ? -pos1 : pos1;
             ^
    374.     out[1] = pos0 > pos1 ? -out[1] : out[1];
    375. }

static inline void decode_2p_track(int *out, int code, int m, int off)
{
    int pos0 = BIT_STR(code, m, m) + off;
    int pos1 = BIT_STR(code, 0, m) + off;
    out[0] = BIT_POS(code, 2*m) ? -pos0 : pos0;
    out[1] = BIT_POS(code, 2*m) ? -pos1 : pos1;
    out[1] = pos0 > pos1 ? -out[1] : out[1];
}
['static void decode_fixed_vector(float *fixed_vector, const uint16_t *pulse_hi,\n                                const uint16_t *pulse_lo, const enum Mode mode)\n{\n    int sig_pos[4][6];\n    int spacing = (mode == MODE_6k60) ? 2 : 4;\n    int i, j;\n    switch (mode) {\n    case MODE_6k60:\n        for (i = 0; i < 2; i++)\n            decode_1p_track(sig_pos[i], pulse_lo[i], 5, 1);\n        break;\n    case MODE_8k85:\n        for (i = 0; i < 4; i++)\n            decode_1p_track(sig_pos[i], pulse_lo[i], 4, 1);\n        break;\n    case MODE_12k65:\n        for (i = 0; i < 4; i++)\n            decode_2p_track(sig_pos[i], pulse_lo[i], 4, 1);\n        break;\n    case MODE_14k25:\n        for (i = 0; i < 2; i++)\n            decode_3p_track(sig_pos[i], pulse_lo[i], 4, 1);\n        for (i = 2; i < 4; i++)\n            decode_2p_track(sig_pos[i], pulse_lo[i], 4, 1);\n        break;\n    case MODE_15k85:\n        for (i = 0; i < 4; i++)\n            decode_3p_track(sig_pos[i], pulse_lo[i], 4, 1);\n        break;\n    case MODE_18k25:\n        for (i = 0; i < 4; i++)\n            decode_4p_track(sig_pos[i], (int) pulse_lo[i] +\n                           ((int) pulse_hi[i] << 14), 4, 1);\n        break;\n    case MODE_19k85:\n        for (i = 0; i < 2; i++)\n            decode_5p_track(sig_pos[i], (int) pulse_lo[i] +\n                           ((int) pulse_hi[i] << 10), 4, 1);\n        for (i = 2; i < 4; i++)\n            decode_4p_track(sig_pos[i], (int) pulse_lo[i] +\n                           ((int) pulse_hi[i] << 14), 4, 1);\n        break;\n    case MODE_23k05:\n    case MODE_23k85:\n        for (i = 0; i < 4; i++)\n            decode_6p_track(sig_pos[i], (int) pulse_lo[i] +\n                           ((int) pulse_hi[i] << 11), 4, 1);\n        break;\n    }\n    memset(fixed_vector, 0, sizeof(float) * AMRWB_SFR_SIZE);\n    for (i = 0; i < 4; i++)\n        for (j = 0; j < pulses_nb_per_mode_tr[mode][i]; j++) {\n            int pos = (FFABS(sig_pos[i][j]) - 1) * spacing + i;\n            fixed_vector[pos] += sig_pos[i][j] < 0 ? -1.0 : 1.0;\n        }\n}', 'static void decode_4p_track(int *out, int code, int m, int off)\n{\n    int half_4p, subhalf_2p;\n    int b_offset = 1 << (m - 1);\n    switch (BIT_STR(code, 4*m - 2, 2)) {\n    case 0:\n        half_4p = BIT_POS(code, 4*m - 3) << (m - 1);\n        subhalf_2p = BIT_POS(code, 2*m - 3) << (m - 2);\n        decode_2p_track(out, BIT_STR(code, 0, 2*m - 3),\n                        m - 2, off + half_4p + subhalf_2p);\n        decode_2p_track(out + 2, BIT_STR(code, 2*m - 2, 2*m - 1),\n                        m - 1, off + half_4p);\n        break;\n    case 1:\n        decode_1p_track(out, BIT_STR(code,  3*m - 2, m),\n                        m - 1, off);\n        decode_3p_track(out + 1, BIT_STR(code, 0, 3*m - 2),\n                        m - 1, off + b_offset);\n        break;\n    case 2:\n        decode_2p_track(out, BIT_STR(code, 2*m - 1, 2*m - 1),\n                        m - 1, off);\n        decode_2p_track(out + 2, BIT_STR(code, 0, 2*m - 1),\n                        m - 1, off + b_offset);\n        break;\n    case 3:\n        decode_3p_track(out, BIT_STR(code, m, 3*m - 2),\n                        m - 1, off);\n        decode_1p_track(out + 3, BIT_STR(code, 0, m),\n                        m - 1, off + b_offset);\n        break;\n    }\n}', 'static inline void decode_2p_track(int *out, int code, int m, int off)\n{\n    int pos0 = BIT_STR(code, m, m) + off;\n    int pos1 = BIT_STR(code, 0, m) + off;\n    out[0] = BIT_POS(code, 2*m) ? -pos0 : pos0;\n    out[1] = BIT_POS(code, 2*m) ? -pos1 : pos1;\n    out[1] = pos0 > pos1 ? -out[1] : out[1];\n}']