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

libavcodec/alsdec.c:1131:20: Call
1129.         bd[1].raw_other    = bd[0].raw_samples;
1130. 
1131.         if ((ret = read_decode_block(ctx, &bd[0])) < 0 ||
                         ^
1132.             (ret = read_decode_block(ctx, &bd[1])) < 0)
1133.             goto fail;

libavcodec/alsdec.c:1017:16: Call
  1015.     int ret;
  1016. 
  1017.     if ((ret = read_block(ctx, bd)) < 0)
                       ^
  1018.         return ret;
  1019. 

libavcodec/alsdec.c:976:15: Call
    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 {
    978.         read_const_block_data(ctx, bd);

libavcodec/alsdec.c:625:31: Call
      623.     } else {
      624.         if (sconf->bgmc && sconf->sb_part)
      625.             log2_sub_blocks = bitstream_read(bc, 2);
                                         ^
      626.         else
      627.             log2_sub_blocks = 2 * bitstream_read_bit(bc);

libavcodec/bitstream.h:183:1: Parameter `bc->bits_left`
        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/alsdec.c:1132:20: Call
1130. 
1131.         if ((ret = read_decode_block(ctx, &bd[0])) < 0 ||
1132.             (ret = read_decode_block(ctx, &bd[1])) < 0)
                         ^
1133.             goto fail;
1134. 

libavcodec/alsdec.c:1013:1: Parameter `ctx->bc.bits_left`
  1011. /** Read and decode block data successively.
  1012.  */
  1013. static int read_decode_block(ALSDecContext *ctx, ALSBlockData *bd)
        ^
  1014. {
  1015.     int ret;

libavcodec/alsdec.c:1017:16: Call
  1015.     int ret;
  1016. 
  1017.     if ((ret = read_block(ctx, bd)) < 0)
                       ^
  1018.         return ret;
  1019. 

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_decode_block` 
          235.     bc->bits <<= n;
          236. #endif
          237.     bc->bits_left -= n;
                   ^
          238. }
          239. 
