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

libavcodec/mlpdec.c:864:1: Parameter `buf_size`
862.  *  otherwise returns the number of bytes consumed. */
863. 
864. static int read_access_unit(AVCodecContext *avctx, void* data, int *data_size,
     ^
865.                             const uint8_t *buf, int buf_size)
866. {

libavcodec/mlpdec.c:939:9: Assignment
937. 
938.         substream_parity_present[substr] = checkdata_present;
939.         substream_data_len[substr] = end - substream_start;
             ^
940.         substream_start = end;
941.     }

libavcodec/mlpdec.c:1015:24: Call
1013.                        "Substream %d parity check failed.\n", substr);
1014. 
1015.             checksum = ff_mlp_checksum8(buf, substream_data_len[substr] - 2);
                             ^
1016.             if (checksum != get_bits(&gb, 8))
1017.                 av_log(m->avctx, AV_LOG_ERROR, "Substream %d checksum failed.\n",

libavcodec/mlp.c:79:1: <LHS trace>
77. }
78. 
79. uint8_t ff_mlp_checksum8(const uint8_t *buf, unsigned int buf_size)
    ^
80. {
81.     uint8_t checksum = av_crc(crc_63, 0x3c, buf, buf_size - 1); // crc_63[0xa2] == 0x3c

libavcodec/mlp.c:79:1: Parameter `buf_size`
  77. }
  78. 
  79. uint8_t ff_mlp_checksum8(const uint8_t *buf, unsigned int buf_size)
      ^
  80. {
  81.     uint8_t checksum = av_crc(crc_63, 0x3c, buf, buf_size - 1); // crc_63[0xa2] == 0x3c

libavcodec/mlp.c:81:24: Binary operation: ([0, 8182] - 1):unsigned32 by call to `ff_mlp_checksum8` 
  79. uint8_t ff_mlp_checksum8(const uint8_t *buf, unsigned int buf_size)
  80. {
  81.     uint8_t checksum = av_crc(crc_63, 0x3c, buf, buf_size - 1); // crc_63[0xa2] == 0x3c
                             ^
  82.     checksum ^= buf[buf_size-1];
  83.     return checksum;
