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:145:1: Parameter `bc->bits_left`
    143. 
    144. /* Return one bit from the buffer. */
    145. static inline unsigned bitstream_read_bit(BitstreamContext *bc)
         ^
    146. {
    147.     if (!bc->bits_left)

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

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

libavcodec/bitstream.h:139:5: Assignment
      137.     bc->bits <<= n;
      138. #endif
      139.     bc->bits_left -= n;
               ^
      140. 
      141.     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:145:1: Parameter `bc->bits_left`
      143. 
      144. /* Return one bit from the buffer. */
      145. static inline unsigned bitstream_read_bit(BitstreamContext *bc)
           ^
      146. {
      147.     if (!bc->bits_left)

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

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

libavcodec/bitstream.h:139:5: Assignment
        137.     bc->bits <<= n;
        138. #endif
        139.     bc->bits_left -= n;
                 ^
        140. 
        141.     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:145:1: Parameter `bc->bits_left`
      143. 
      144. /* Return one bit from the buffer. */
      145. static inline unsigned bitstream_read_bit(BitstreamContext *bc)
           ^
      146. {
      147.     if (!bc->bits_left)

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

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

libavcodec/bitstream.h:139:5: Assignment
        137.     bc->bits <<= n;
        138. #endif
        139.     bc->bits_left -= n;
                 ^
        140. 
        141.     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:241:1: Parameter `n`
      239. 
      240. /* Skip n bits in the buffer. */
      241. static inline void bitstream_skip(BitstreamContext *bc, unsigned n)
           ^
      242. {
      243.     if (n <= bc->bits_left)

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

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

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

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

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

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