libavcodec/mlpdec.c:1102: error: Integer Overflow L2
  (32 - [0, 96]):unsigned32 by call to `read_major_sync`.

libavcodec/mlpdec.c:1098:5: Call
1096.         return AVERROR_INVALIDDATA;
1097. 
1098.     bitstream_init(&bc, (buf + 4), (length - 4) * 8);
          ^
1099. 
1100.     m->is_major_sync_unit = 0;

libavcodec/bitstream.h:85:9: Assignment
  83.         bc->buffer    =
  84.         bc->ptr       = NULL;
  85.         bc->bits_left = 0;
              ^
  86.         return AVERROR_INVALIDDATA;
  87.     }

libavcodec/mlpdec.c:1101:9: Call
1099. 
1100.     m->is_major_sync_unit = 0;
1101.     if (bitstream_peek(&bc, 31) == (0xf8726fba >> 1)) {
              ^
1102.         if (read_major_sync(m, &bc) < 0)
1103.             goto error;

libavcodec/bitstream.h:215:1: Parameter `n`
  213. /* Return n bits from the buffer, but do not change the buffer state.
  214.  * n has to be in the 0-32 range. */
  215. static inline unsigned bitstream_peek(BitstreamContext *bc, unsigned n)
       ^
  216. {
  217.     if (n > bc->bits_left)

libavcodec/mlpdec.c:1102:13: Call
1100.     m->is_major_sync_unit = 0;
1101.     if (bitstream_peek(&bc, 31) == (0xf8726fba >> 1)) {
1102.         if (read_major_sync(m, &bc) < 0)
                  ^
1103.             goto error;
1104.         m->is_major_sync_unit = 1;

libavcodec/mlpdec.c:293:1: Parameter `bc->bits_left`
  291.  */
  292. 
  293. static int read_major_sync(MLPDecodeContext *m, BitstreamContext *bc)
       ^
  294. {
  295.     MLPHeaderInfo mh;

libavcodec/mlpdec.c:298:16: Call
  296.     int substr, ret;
  297. 
  298.     if ((ret = ff_mlp_read_major_sync(m->avctx, &mh, bc)) != 0)
                      ^
  299.         return ret;
  300. 

libavcodec/mlp_parser.c:146:1: Parameter `bc->bits_left`
    144.  */
    145. 
    146. int ff_mlp_read_major_sync(void *log, MLPHeaderInfo *mh, BitstreamContext *bc)
         ^
    147. {
    148.     int ratebits, channel_arrangement, header_size;

libavcodec/mlp_parser.c:165:9: Call
    163.     }
    164. 
    165.     if (bitstream_read(bc, 24) != 0xf8726f) /* Sync words */
                 ^
    166.         return AVERROR_INVALIDDATA;
    167. 

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

libavcodec/bitstream.h:189:9: Call
      187. 
      188.     if (n > bc->bits_left) {
      189.         refill_32(bc);
                   ^
      190.         if (bc->bits_left < 32)
      191.             bc->bits_left = n;

libavcodec/bitstream.h:60:1: <RHS trace>
58. }
59. 
60. static inline void refill_32(BitstreamContext *bc)
    ^
61. {
62.     if (bc->ptr >= bc->buffer_end)

libavcodec/bitstream.h:60:1: Parameter `bc->bits_left`
        58. }
        59. 
        60. static inline void refill_32(BitstreamContext *bc)
            ^
        61. {
        62.     if (bc->ptr >= bc->buffer_end)

libavcodec/bitstream.h:68:5: Binary operation: (32 - [0, 96]):unsigned32 by call to `read_major_sync` 
        66.     bc->bits       = (uint64_t)AV_RL32(bc->ptr) << bc->bits_left | bc->bits;
        67. #else
        68.     bc->bits       = bc->bits | (uint64_t)AV_RB32(bc->ptr) << (32 - bc->bits_left);
                ^
        69. #endif
        70.     bc->ptr       += 4;
