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

libavcodec/alsdec.c:1082:1: Parameter `ctx->bc.bits_left`
1080. /** Decode blocks dependently.
1081.  */
1082. static int decode_blocks(ALSDecContext *ctx, unsigned int ra_frame,
      ^
1083.                          unsigned int c, const unsigned int *div_blocks,
1084.                          unsigned int *js_blocks)

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: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: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:596:1: Parameter `ctx->bc.bits_left`
      594. /** Read the block data for a non-constant block
      595.  */
      596. static int read_var_block_data(ALSDecContext *ctx, ALSBlockData *bd)
           ^
      597. {
      598.     ALSSpecificConfig *sconf = &ctx->sconf;

libavcodec/alsdec.c:616:23: Call
      614. 
      615.     *bd->opt_order  = 1;
      616.     bd->js_blocks   = bitstream_read_bit(bc);
                                 ^
      617. 
      618.     opt_order       = *bd->opt_order;

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:627:35: Call
      625.             log2_sub_blocks = bitstream_read(bc, 2);
      626.         else
      627.             log2_sub_blocks = 2 * bitstream_read_bit(bc);
                                             ^
      628.     }
      629. 

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: <LHS trace>
128. }
129. 
130. static inline uint64_t get_val(BitstreamContext *bc, unsigned n)
     ^
131. {
132. #ifdef BITSTREAM_READER_LE

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

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

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: Binary operation: ([-2, +oo] - 1):unsigned32 by call to `read_decode_block` 
          137.     bc->bits <<= n;
          138. #endif
          139.     bc->bits_left -= n;
                   ^
          140. 
          141.     return ret;
