libavcodec/mlpdec.c:1235: error: Integer Overflow L2
  ([0, +oo] - 1):unsigned32 by call to `ff_mlp_checksum8`.

libavcodec/mlpdec.c:1083:5: Assignment
1081.     unsigned int length, substr;
1082.     unsigned int substream_start;
1083.     unsigned int header_size = 4;
          ^
1084.     unsigned int substr_header_size = 0;
1085.     uint8_t substream_parity_present[MAX_SUBSTREAMS];

libavcodec/mlpdec.c:1162:9: Assignment
1160. 
1161.         substream_parity_present[substr] = checkdata_present;
1162.         substream_data_len[substr] = end - substream_start;
              ^
1163.         substream_start = end;
1164.     }

libavcodec/mlpdec.c:1235:24: Call
1233. 
1234.             parity   = ff_mlp_calculate_parity(buf, substream_data_len[substr] - 2);
1235.             checksum = ff_mlp_checksum8       (buf, substream_data_len[substr] - 2);
                             ^
1236. 
1237.             if ((bitstream_read(&bc, 8) ^ parity) != 0xa9)

libavcodec/mlp.c:73:1: <LHS trace>
71. }
72. 
73. uint8_t ff_mlp_checksum8(const uint8_t *buf, unsigned int buf_size)
    ^
74. {
75.     uint8_t checksum = av_crc(crc_63, 0x3c, buf, buf_size - 1); // crc_63[0xa2] == 0x3c

libavcodec/mlp.c:73:1: Parameter `buf_size`
  71. }
  72. 
  73. uint8_t ff_mlp_checksum8(const uint8_t *buf, unsigned int buf_size)
      ^
  74. {
  75.     uint8_t checksum = av_crc(crc_63, 0x3c, buf, buf_size - 1); // crc_63[0xa2] == 0x3c

libavcodec/mlp.c:75:24: Binary operation: ([0, +oo] - 1):unsigned32 by call to `ff_mlp_checksum8` 
  73. uint8_t ff_mlp_checksum8(const uint8_t *buf, unsigned int buf_size)
  74. {
  75.     uint8_t checksum = av_crc(crc_63, 0x3c, buf, buf_size - 1); // crc_63[0xa2] == 0x3c
                             ^
  76.     checksum ^= buf[buf_size-1];
  77.     return checksum;
