libavcodec/mpegaudiodec.c:1626: error: Integer Overflow L2
  ([-1052488119, 36] × 32):signed32.

libavcodec/mpegaudiodec.c:1615:14: <LHS trace>
1613.     for (ch = 0; ch < s->nb_channels; ch++) {
1614.         samples_ptr = samples + ch;
1615.         for (i = 0; i < nb_frames; i++) {
                   ^
1616.             RENAME(ff_mpa_synth_filter)(
1617.                          &s->mpadsp,

libavcodec/mpegaudiodec.c:1615:14: Assignment
1613.     for (ch = 0; ch < s->nb_channels; ch++) {
1614.         samples_ptr = samples + ch;
1615.         for (i = 0; i < nb_frames; i++) {
                   ^
1616.             RENAME(ff_mpa_synth_filter)(
1617.                          &s->mpadsp,

libavcodec/mpegaudiodec.c:1626:5: Binary operation: ([-1052488119, 36] × 32):signed32
1624.     }
1625. 
1626.     return nb_frames * 32 * sizeof(OUT_INT) * s->nb_channels;
          ^
1627. }
1628. 

static int mp_decode_frame(MPADecodeContext *s, OUT_INT *samples,
                           const uint8_t *buf, int buf_size)
{
    int i, nb_frames, ch, ret;
    OUT_INT *samples_ptr;
    init_get_bits(&s->gb, buf + HEADER_SIZE, (buf_size - HEADER_SIZE) * 8);
    if (s->error_protection)
        skip_bits(&s->gb, 16);
    switch(s->layer) {
    case 1:
        s->avctx->frame_size = 384;
        nb_frames = mp_decode_layer1(s);
        break;
    case 2:
        s->avctx->frame_size = 1152;
        nb_frames = mp_decode_layer2(s);
        break;
    case 3:
        s->avctx->frame_size = s->lsf ? 576 : 1152;
    default:
        nb_frames = mp_decode_layer3(s);
        s->last_buf_size=0;
        if (s->in_gb.buffer) {
            align_get_bits(&s->gb);
            i = get_bits_left(&s->gb)>>3;
            if (i >= 0 && i <= BACKSTEP_SIZE) {
                memmove(s->last_buf, s->gb.buffer + (get_bits_count(&s->gb)>>3), i);
                s->last_buf_size=i;
            } else
                av_log(s->avctx, AV_LOG_ERROR, "invalid old backstep %d\n", i);
            s->gb           = s->in_gb;
            s->in_gb.buffer = NULL;
        }
        align_get_bits(&s->gb);
        assert((get_bits_count(&s->gb) & 7) == 0);
        i = get_bits_left(&s->gb) >> 3;
        if (i < 0 || i > BACKSTEP_SIZE || nb_frames < 0) {
            if (i < 0)
                av_log(s->avctx, AV_LOG_ERROR, "invalid new backstep %d\n", i);
            i = FFMIN(BACKSTEP_SIZE, buf_size - HEADER_SIZE);
        }
        assert(i <= buf_size - HEADER_SIZE && i >= 0);
        memcpy(s->last_buf + s->last_buf_size, s->gb.buffer + buf_size - HEADER_SIZE - i, i);
        s->last_buf_size += i;
    }
    if (!samples) {
        s->frame.nb_samples = s->avctx->frame_size;
        if ((ret = s->avctx->get_buffer(s->avctx, &s->frame)) < 0) {
            av_log(s->avctx, AV_LOG_ERROR, "get_buffer() failed\n");
            return ret;
        }
        samples = (OUT_INT *)s->frame.data[0];
    }
    for (ch = 0; ch < s->nb_channels; ch++) {
        samples_ptr = samples + ch;
        for (i = 0; i < nb_frames; i++) {
            RENAME(ff_mpa_synth_filter)(
                         &s->mpadsp,
                         s->synth_buf[ch], &(s->synth_buf_offset[ch]),
                         RENAME(ff_mpa_synth_window), &s->dither_state,
                         samples_ptr, s->nb_channels,
                         s->sb_samples[ch][i]);
            samples_ptr += 32 * s->nb_channels;
        }
    }
    return nb_frames * 32 * sizeof(OUT_INT) * s->nb_channels;
}
['static int mp_decode_frame(MPADecodeContext *s, OUT_INT *samples,\n                           const uint8_t *buf, int buf_size)\n{\n    int i, nb_frames, ch, ret;\n    OUT_INT *samples_ptr;\n    init_get_bits(&s->gb, buf + HEADER_SIZE, (buf_size - HEADER_SIZE) * 8);\n    if (s->error_protection)\n        skip_bits(&s->gb, 16);\n    switch(s->layer) {\n    case 1:\n        s->avctx->frame_size = 384;\n        nb_frames = mp_decode_layer1(s);\n        break;\n    case 2:\n        s->avctx->frame_size = 1152;\n        nb_frames = mp_decode_layer2(s);\n        break;\n    case 3:\n        s->avctx->frame_size = s->lsf ? 576 : 1152;\n    default:\n        nb_frames = mp_decode_layer3(s);\n        s->last_buf_size=0;\n        if (s->in_gb.buffer) {\n            align_get_bits(&s->gb);\n            i = get_bits_left(&s->gb)>>3;\n            if (i >= 0 && i <= BACKSTEP_SIZE) {\n                memmove(s->last_buf, s->gb.buffer + (get_bits_count(&s->gb)>>3), i);\n                s->last_buf_size=i;\n            } else\n                av_log(s->avctx, AV_LOG_ERROR, "invalid old backstep %d\\n", i);\n            s->gb           = s->in_gb;\n            s->in_gb.buffer = NULL;\n        }\n        align_get_bits(&s->gb);\n        assert((get_bits_count(&s->gb) & 7) == 0);\n        i = get_bits_left(&s->gb) >> 3;\n        if (i < 0 || i > BACKSTEP_SIZE || nb_frames < 0) {\n            if (i < 0)\n                av_log(s->avctx, AV_LOG_ERROR, "invalid new backstep %d\\n", i);\n            i = FFMIN(BACKSTEP_SIZE, buf_size - HEADER_SIZE);\n        }\n        assert(i <= buf_size - HEADER_SIZE && i >= 0);\n        memcpy(s->last_buf + s->last_buf_size, s->gb.buffer + buf_size - HEADER_SIZE - i, i);\n        s->last_buf_size += i;\n    }\n    if (!samples) {\n        s->frame.nb_samples = s->avctx->frame_size;\n        if ((ret = s->avctx->get_buffer(s->avctx, &s->frame)) < 0) {\n            av_log(s->avctx, AV_LOG_ERROR, "get_buffer() failed\\n");\n            return ret;\n        }\n        samples = (OUT_INT *)s->frame.data[0];\n    }\n    for (ch = 0; ch < s->nb_channels; ch++) {\n        samples_ptr = samples + ch;\n        for (i = 0; i < nb_frames; i++) {\n            RENAME(ff_mpa_synth_filter)(\n                         &s->mpadsp,\n                         s->synth_buf[ch], &(s->synth_buf_offset[ch]),\n                         RENAME(ff_mpa_synth_window), &s->dither_state,\n                         samples_ptr, s->nb_channels,\n                         s->sb_samples[ch][i]);\n            samples_ptr += 32 * s->nb_channels;\n        }\n    }\n    return nb_frames * 32 * sizeof(OUT_INT) * s->nb_channels;\n}']