libavcodec/alsdec.c:1426: error: Integer Overflow L2
  ([-3, +oo] - 5):unsigned32 by call to `read_block`.

libavcodec/alsdec.c:1402:9: Call
1400.         bd.prev_raw_samples = ctx->prev_raw_samples;
1401. 
1402.         get_block_sizes(ctx, div_blocks, &bs_info);
              ^
1403. 
1404.         for (b = 0; b < ctx->num_blocks; b++) {

libavcodec/alsdec.c:504:1: Parameter `ctx->bc.bits_left`
  502.  *  actual number of samples.
  503.  */
  504. static void get_block_sizes(ALSDecContext *ctx, unsigned int *div_blocks,
       ^
  505.                             uint32_t *bs_info)
  506. {

libavcodec/alsdec.c:1426:28: Call
1424.                 bd.raw_other   = NULL;
1425. 
1426.                 if ((ret = read_block(ctx, &bd)) < 0)
                                 ^
1427.                     return ret;
1428.                 if ((ret = read_channel_data(ctx, ctx->chan_data[c], c)) < 0)

libavcodec/alsdec.c:968:1: Parameter `ctx->bc.bits_left`
  966. /** Read the block data.
  967.  */
  968. static int read_block(ALSDecContext *ctx, ALSBlockData *bd)
       ^
  969. {
  970.     int ret = 0;

libavcodec/alsdec.c:975:9: Call
  973.     *bd->shift_lsbs = 0;
  974.     // read block type flag and read the samples accordingly
  975.     if (bitstream_read_bit(bc)) {
               ^
  976.         ret = read_var_block_data(ctx, bd);
  977.     } else {

libavcodec/bitstream.h:144:1: Parameter `bc->bits_left`
    142. 
    143. /* Return one bit from the buffer. */
    144. static inline unsigned bitstream_read_bit(BitstreamContext *bc)
         ^
    145. {
    146.     if (!bc->bits_left)

libavcodec/bitstream.h:149:12: Call
    147.         refill_64(bc);
    148. 
    149.     return get_val(bc, 1);
                    ^
    150. }
    151. 

libavcodec/bitstream.h:129:1: Parameter `n`
      127. }
      128. 
      129. static inline uint64_t get_val(BitstreamContext *bc, unsigned n)
           ^
      130. {
      131. #ifdef BITSTREAM_READER_LE

libavcodec/bitstream.h:138:5: Assignment
      136.     bc->bits <<= n;
      137. #endif
      138.     bc->bits_left -= n;
               ^
      139. 
      140.     return ret;

libavcodec/alsdec.c:978:9: Call
  976.         ret = read_var_block_data(ctx, bd);
  977.     } else {
  978.         read_const_block_data(ctx, bd);
               ^
  979.     }
  980. 

libavcodec/alsdec.c:557:1: Parameter `ctx->bc.bits_left`
    555. /** Read the block data for a constant block
    556.  */
    557. static void read_const_block_data(ALSDecContext *ctx, ALSBlockData *bd)
         ^
    558. {
    559.     ALSSpecificConfig *sconf = &ctx->sconf;

libavcodec/alsdec.c:564:24: Call
    562. 
    563.     *bd->raw_samples = 0;
    564.     *bd->const_block = bitstream_read_bit(bc);  // 1 = constant value, 0 = zero block (silence)
                                ^
    565.     bd->js_blocks    = bitstream_read_bit(bc);
    566. 

libavcodec/bitstream.h:144:1: Parameter `bc->bits_left`
      142. 
      143. /* Return one bit from the buffer. */
      144. static inline unsigned bitstream_read_bit(BitstreamContext *bc)
           ^
      145. {
      146.     if (!bc->bits_left)

libavcodec/bitstream.h:149:12: Call
      147.         refill_64(bc);
      148. 
      149.     return get_val(bc, 1);
                      ^
      150. }
      151. 

libavcodec/bitstream.h:129:1: Parameter `n`
        127. }
        128. 
        129. static inline uint64_t get_val(BitstreamContext *bc, unsigned n)
             ^
        130. {
        131. #ifdef BITSTREAM_READER_LE

libavcodec/bitstream.h:138:5: Assignment
        136.     bc->bits <<= n;
        137. #endif
        138.     bc->bits_left -= n;
                 ^
        139. 
        140.     return ret;

libavcodec/alsdec.c:565:24: Call
    563.     *bd->raw_samples = 0;
    564.     *bd->const_block = bitstream_read_bit(bc);  // 1 = constant value, 0 = zero block (silence)
    565.     bd->js_blocks    = bitstream_read_bit(bc);
                                ^
    566. 
    567.     // skip 5 reserved bits

libavcodec/bitstream.h:144:1: Parameter `bc->bits_left`
      142. 
      143. /* Return one bit from the buffer. */
      144. static inline unsigned bitstream_read_bit(BitstreamContext *bc)
           ^
      145. {
      146.     if (!bc->bits_left)

libavcodec/bitstream.h:149:12: Call
      147.         refill_64(bc);
      148. 
      149.     return get_val(bc, 1);
                      ^
      150. }
      151. 

libavcodec/bitstream.h:129:1: Parameter `n`
        127. }
        128. 
        129. static inline uint64_t get_val(BitstreamContext *bc, unsigned n)
             ^
        130. {
        131. #ifdef BITSTREAM_READER_LE

libavcodec/bitstream.h:138:5: Assignment
        136.     bc->bits <<= n;
        137. #endif
        138.     bc->bits_left -= n;
                 ^
        139. 
        140.     return ret;

libavcodec/alsdec.c:568:5: Call
    566. 
    567.     // skip 5 reserved bits
    568.     bitstream_skip(bc, 5);
             ^
    569. 
    570.     if (*bd->const_block) {

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: ([-3, +oo] - 5):unsigned32 by call to `read_block` 
        234.     bc->bits <<= n;
        235. #endif
        236.     bc->bits_left -= n;
                 ^
        237. }
        238. 
