libavcodec/mlp_parser.c:212: error: Integer Overflow L2
  ([0, +oo] - 48):unsigned32 by call to `bitstream_skip`.

libavcodec/mlp_parser.c:181:34: Call
179.         bitstream_skip(bc, 11);
180. 
181.         channel_arrangement    = bitstream_read(bc, 5);
                                      ^
182.         mh->channels_mlp       = mlp_channels[channel_arrangement];
183.         mh->channel_layout_mlp = mlp_layout[channel_arrangement];

libavcodec/bitstream.h:182:1: Parameter `bc->bits_left`
  180. 
  181. /* Return n bits from the buffer. n has to be in the 0-32 range. */
  182. static inline uint32_t bitstream_read(BitstreamContext *bc, unsigned n)
       ^
  183. {
  184.     if (!n)

libavcodec/mlp_parser.c:212:5: Call
210.     mh->access_unit_size_pow2 = 64 << (ratebits & 7);
211. 
212.     bitstream_skip(bc, 48);
         ^
213. 
214.     mh->is_vbr = bitstream_read_bit(bc);

libavcodec/bitstream.h:240:1: Parameter `n`
  238. 
  239. /* Skip n bits in the buffer. */
  240. static inline void bitstream_skip(BitstreamContext *bc, unsigned n)
       ^
  241. {
  242.     if (n < bc->bits_left)

libavcodec/bitstream.h:243:9: Call
  241. {
  242.     if (n < bc->bits_left)
  243.         skip_remaining(bc, n);
               ^
  244.     else {
  245.         n -= bc->bits_left;

libavcodec/bitstream.h:229:1: <LHS trace>
227. }
228. 
229. static inline void skip_remaining(BitstreamContext *bc, unsigned n)
     ^
230. {
231. #ifdef BITSTREAM_READER_LE

libavcodec/bitstream.h:229:1: Parameter `bc->bits_left`
    227. }
    228. 
    229. static inline void skip_remaining(BitstreamContext *bc, unsigned n)
         ^
    230. {
    231. #ifdef BITSTREAM_READER_LE

libavcodec/bitstream.h:229:1: <RHS trace>
227. }
228. 
229. static inline void skip_remaining(BitstreamContext *bc, unsigned n)
     ^
230. {
231. #ifdef BITSTREAM_READER_LE

libavcodec/bitstream.h:229:1: Parameter `n`
    227. }
    228. 
    229. static inline void skip_remaining(BitstreamContext *bc, unsigned n)
         ^
    230. {
    231. #ifdef BITSTREAM_READER_LE

libavcodec/bitstream.h:236:5: Binary operation: ([0, +oo] - 48):unsigned32 by call to `bitstream_skip` 
    234.     bc->bits <<= n;
    235. #endif
    236.     bc->bits_left -= n;
             ^
    237. }
    238. 

static inline void skip_remaining(BitstreamContext *bc, unsigned n)
{
#ifdef BITSTREAM_READER_LE
    bc->bits >>= n;
#else
    bc->bits <<= n;
#endif
    bc->bits_left -= n;
}
['int ff_mlp_read_major_sync(void *log, MLPHeaderInfo *mh, BitstreamContext *bc)\n{\n    int ratebits, channel_arrangement, header_size;\n    uint16_t checksum;\n    assert(bitstream_tell(bc) == 0);\n    header_size = mlp_get_major_sync_size(bc->buffer, bc->size_in_bits >> 3);\n    if (header_size < 0 || bc->size_in_bits < header_size << 3) {\n        av_log(log, AV_LOG_ERROR, "packet too short, unable to read major sync\\n");\n        return -1;\n    }\n    checksum = ff_mlp_checksum16(bc->buffer, header_size - 2);\n    if (checksum != AV_RL16(bc->buffer + header_size - 2)) {\n        av_log(log, AV_LOG_ERROR, "major sync info header checksum error\\n");\n        return AVERROR_INVALIDDATA;\n    }\n    if (bitstream_read(bc, 24) != 0xf8726f)\n        return AVERROR_INVALIDDATA;\n    mh->stream_type = bitstream_read(bc, 8);\n    mh->header_size = header_size;\n    if (mh->stream_type == 0xbb) {\n        mh->group1_bits = mlp_quants[bitstream_read(bc, 4)];\n        mh->group2_bits = mlp_quants[bitstream_read(bc, 4)];\n        ratebits = bitstream_read(bc, 4);\n        mh->group1_samplerate = mlp_samplerate(ratebits);\n        mh->group2_samplerate = mlp_samplerate(bitstream_read(bc, 4));\n        bitstream_skip(bc, 11);\n        channel_arrangement    = bitstream_read(bc, 5);\n        mh->channels_mlp       = mlp_channels[channel_arrangement];\n        mh->channel_layout_mlp = mlp_layout[channel_arrangement];\n    } else if (mh->stream_type == 0xba) {\n        mh->group1_bits = 24;\n        mh->group2_bits = 0;\n        ratebits = bitstream_read(bc, 4);\n        mh->group1_samplerate = mlp_samplerate(ratebits);\n        mh->group2_samplerate = 0;\n        bitstream_skip(bc, 4);\n        mh->channel_modifier_thd_stream0 = bitstream_read(bc, 2);\n        mh->channel_modifier_thd_stream1 = bitstream_read(bc, 2);\n        channel_arrangement            = bitstream_read(bc, 5);\n        mh->channels_thd_stream1       = truehd_channels(channel_arrangement);\n        mh->channel_layout_thd_stream1 = truehd_layout(channel_arrangement);\n        mh->channel_modifier_thd_stream2 = bitstream_read(bc, 2);\n        channel_arrangement            = bitstream_read(bc, 13);\n        mh->channels_thd_stream2       = truehd_channels(channel_arrangement);\n        mh->channel_layout_thd_stream2 = truehd_layout(channel_arrangement);\n    } else\n        return AVERROR_INVALIDDATA;\n    mh->access_unit_size = 40 << (ratebits & 7);\n    mh->access_unit_size_pow2 = 64 << (ratebits & 7);\n    bitstream_skip(bc, 48);\n    mh->is_vbr = bitstream_read_bit(bc);\n    mh->peak_bitrate = (bitstream_read(bc, 15) * mh->group1_samplerate + 8) >> 4;\n    mh->num_substreams = bitstream_read(bc, 4);\n    bitstream_skip(bc, 4 + (header_size - 17) * 8);\n    return 0;\n}', 'static inline uint32_t bitstream_read(BitstreamContext *bc, unsigned n)\n{\n    if (!n)\n        return 0;\n    if (n > bc->bits_left) {\n        refill_32(bc);\n        if (bc->bits_left < 32)\n            bc->bits_left = n;\n    }\n    return get_val(bc, n);\n}', 'static inline void bitstream_skip(BitstreamContext *bc, unsigned n)\n{\n    if (n < bc->bits_left)\n        skip_remaining(bc, n);\n    else {\n        n -= bc->bits_left;\n        bc->bits      = 0;\n        bc->bits_left = 0;\n        if (n >= 64) {\n            unsigned skip = n / 8;\n            n -= skip * 8;\n            bc->ptr += skip;\n        }\n        refill_64(bc);\n        if (n)\n            skip_remaining(bc, n);\n    }\n}', 'static inline void skip_remaining(BitstreamContext *bc, unsigned n)\n{\n#ifdef BITSTREAM_READER_LE\n    bc->bits >>= n;\n#else\n    bc->bits <<= n;\n#endif\n    bc->bits_left -= n;\n}']