libavcodec/truespeech.c:70: error: Buffer Overrun L2
  Offset: [0, 31] Size: 8.

libavcodec/truespeech.c:60:1: <Offset trace>
58. }
59. 
60. static void truespeech_read_frame(TSContext *dec, const uint8_t *input)
    ^
61. {
62.     uint32_t t;

libavcodec/truespeech.c:60:1: Parameter `*input`
58. }
59. 
60. static void truespeech_read_frame(TSContext *dec, const uint8_t *input)
    ^
61. {
62.     uint32_t t;

libavcodec/truespeech.c:65:5: Assignment
63. 
64.     /* first dword */
65.     t = AV_RL32(input);
        ^
66.     input += 4;
67. 

libavcodec/truespeech_data.h:69:1: <Length trace>
67. };
68. 
69. static const int16_t *ts_codebook[8] = {
    ^
70.     ts_cb_0, ts_cb_1, ts_cb_2, ts_cb_3, ts_cb_4, ts_cb_5, ts_cb_6, ts_cb_7
71. };

libavcodec/truespeech_data.h:69:1: Array declaration
67. };
68. 
69. static const int16_t *ts_codebook[8] = {
    ^
70.     ts_cb_0, ts_cb_1, ts_cb_2, ts_cb_3, ts_cb_4, ts_cb_5, ts_cb_6, ts_cb_7
71. };

libavcodec/truespeech.c:70:22: Array access: Offset: [0, 31] Size: 8
68.     dec->flag = t & 1;
69. 
70.     dec->vector[0] = ts_codebook[0][(t >>  1) & 0x1F];
                         ^
71.     dec->vector[1] = ts_codebook[1][(t >>  6) & 0x1F];
72.     dec->vector[2] = ts_codebook[2][(t >> 11) &  0xF];

static void truespeech_read_frame(TSContext *dec, const uint8_t *input)
{
    uint32_t t;
    t = AV_RL32(input);
    input += 4;
    dec->flag = t & 1;
    dec->vector[0] = ts_codebook[0][(t >>  1) & 0x1F];
    dec->vector[1] = ts_codebook[1][(t >>  6) & 0x1F];
    dec->vector[2] = ts_codebook[2][(t >> 11) &  0xF];
    dec->vector[3] = ts_codebook[3][(t >> 15) &  0xF];
    dec->vector[4] = ts_codebook[4][(t >> 19) &  0xF];
    dec->vector[5] = ts_codebook[5][(t >> 23) &  0x7];
    dec->vector[6] = ts_codebook[6][(t >> 26) &  0x7];
    dec->vector[7] = ts_codebook[7][(t >> 29) &  0x7];
    t = AV_RL32(input);
    input += 4;
    dec->offset2[0] = (t >>  0) & 0x7F;
    dec->offset2[1] = (t >>  7) & 0x7F;
    dec->offset2[2] = (t >> 14) & 0x7F;
    dec->offset2[3] = (t >> 21) & 0x7F;
    dec->offset1[0] = ((t >> 28) & 0xF) << 4;
    t = AV_RL32(input);
    input += 4;
    dec->pulseval[0] = (t >>  0) & 0x3FFF;
    dec->pulseval[1] = (t >> 14) & 0x3FFF;
    dec->offset1[1] = (t >> 28) & 0x0F;
    t = AV_RL32(input);
    input += 4;
    dec->pulseval[2] = (t >>  0) & 0x3FFF;
    dec->pulseval[3] = (t >> 14) & 0x3FFF;
    dec->offset1[1] |= ((t >> 28) & 0x0F) << 4;
    t = AV_RL32(input);
    input += 4;
    dec->pulsepos[0] = (t >> 4) & 0x7FFFFFF;
    dec->pulseoff[0] = (t >> 0) & 0xF;
    dec->offset1[0] |= (t >> 31) & 1;
    t = AV_RL32(input);
    input += 4;
    dec->pulsepos[1] = (t >> 4) & 0x7FFFFFF;
    dec->pulseoff[1] = (t >> 0) & 0xF;
    dec->offset1[0] |= ((t >> 31) & 1) << 1;
    t = AV_RL32(input);
    input += 4;
    dec->pulsepos[2] = (t >> 4) & 0x7FFFFFF;
    dec->pulseoff[2] = (t >> 0) & 0xF;
    dec->offset1[0] |= ((t >> 31) & 1) << 2;
    t = AV_RL32(input);
    input += 4;
    dec->pulsepos[3] = (t >> 4) & 0x7FFFFFF;
    dec->pulseoff[3] = (t >> 0) & 0xF;
    dec->offset1[0] |= ((t >> 31) & 1) << 3;
}
['static void truespeech_read_frame(TSContext *dec, const uint8_t *input)\n{\n    uint32_t t;\n    t = AV_RL32(input);\n    input += 4;\n    dec->flag = t & 1;\n    dec->vector[0] = ts_codebook[0][(t >>  1) & 0x1F];\n    dec->vector[1] = ts_codebook[1][(t >>  6) & 0x1F];\n    dec->vector[2] = ts_codebook[2][(t >> 11) &  0xF];\n    dec->vector[3] = ts_codebook[3][(t >> 15) &  0xF];\n    dec->vector[4] = ts_codebook[4][(t >> 19) &  0xF];\n    dec->vector[5] = ts_codebook[5][(t >> 23) &  0x7];\n    dec->vector[6] = ts_codebook[6][(t >> 26) &  0x7];\n    dec->vector[7] = ts_codebook[7][(t >> 29) &  0x7];\n    t = AV_RL32(input);\n    input += 4;\n    dec->offset2[0] = (t >>  0) & 0x7F;\n    dec->offset2[1] = (t >>  7) & 0x7F;\n    dec->offset2[2] = (t >> 14) & 0x7F;\n    dec->offset2[3] = (t >> 21) & 0x7F;\n    dec->offset1[0] = ((t >> 28) & 0xF) << 4;\n    t = AV_RL32(input);\n    input += 4;\n    dec->pulseval[0] = (t >>  0) & 0x3FFF;\n    dec->pulseval[1] = (t >> 14) & 0x3FFF;\n    dec->offset1[1] = (t >> 28) & 0x0F;\n    t = AV_RL32(input);\n    input += 4;\n    dec->pulseval[2] = (t >>  0) & 0x3FFF;\n    dec->pulseval[3] = (t >> 14) & 0x3FFF;\n    dec->offset1[1] |= ((t >> 28) & 0x0F) << 4;\n    t = AV_RL32(input);\n    input += 4;\n    dec->pulsepos[0] = (t >> 4) & 0x7FFFFFF;\n    dec->pulseoff[0] = (t >> 0) & 0xF;\n    dec->offset1[0] |= (t >> 31) & 1;\n    t = AV_RL32(input);\n    input += 4;\n    dec->pulsepos[1] = (t >> 4) & 0x7FFFFFF;\n    dec->pulseoff[1] = (t >> 0) & 0xF;\n    dec->offset1[0] |= ((t >> 31) & 1) << 1;\n    t = AV_RL32(input);\n    input += 4;\n    dec->pulsepos[2] = (t >> 4) & 0x7FFFFFF;\n    dec->pulseoff[2] = (t >> 0) & 0xF;\n    dec->offset1[0] |= ((t >> 31) & 1) << 2;\n    t = AV_RL32(input);\n    input += 4;\n    dec->pulsepos[3] = (t >> 4) & 0x7FFFFFF;\n    dec->pulseoff[3] = (t >> 0) & 0xF;\n    dec->offset1[0] |= ((t >> 31) & 1) << 3;\n}']