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

libavcodec/webp.c:604:33: Call
602. 
603.     if (bitstream_read_bit(&s->bc)) {
604.         img->color_cache_bits = bitstream_read(&s->bc, 4);
                                     ^
605.         if (img->color_cache_bits < 1 || img->color_cache_bits > 11) {
606.             av_log(s->avctx, AV_LOG_ERROR, "invalid color cache bits: %d\n",

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/webp.c:638:17: Call
636.                 alphabet_size += 1 << img->color_cache_bits;
637. 
638.             if (bitstream_read_bit(&s->bc)) {
                     ^
639.                 read_huffman_code_simple(s, &hg[j]);
640.             } 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/webp.c:639:17: Call
637. 
638.             if (bitstream_read_bit(&s->bc)) {
639.                 read_huffman_code_simple(s, &hg[j]);
                     ^
640.             } else {
641.                 ret = read_huffman_code_normal(s, &hg[j], alphabet_size);

libavcodec/webp.c:334:1: Parameter `s->bc.bits_left`
  332. }
  333. 
  334. static void read_huffman_code_simple(WebPContext *s, HuffReader *hc)
       ^
  335. {
  336.     hc->nb_symbols = bitstream_read_bit(&s->bc) + 1;

libavcodec/webp.c:336:22: Call
  334. static void read_huffman_code_simple(WebPContext *s, HuffReader *hc)
  335. {
  336.     hc->nb_symbols = bitstream_read_bit(&s->bc) + 1;
                            ^
  337. 
  338.     if (bitstream_read_bit(&s->bc))

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/webp.c:338:9: Call
  336.     hc->nb_symbols = bitstream_read_bit(&s->bc) + 1;
  337. 
  338.     if (bitstream_read_bit(&s->bc))
               ^
  339.         hc->simple_symbols[0] = bitstream_read(&s->bc, 8);
  340.     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/webp.c:341:33: Call
  339.         hc->simple_symbols[0] = bitstream_read(&s->bc, 8);
  340.     else
  341.         hc->simple_symbols[0] = bitstream_read_bit(&s->bc);
                                       ^
  342. 
  343.     if (hc->nb_symbols == 2)

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_huffman_code_simple` 
      137.     bc->bits <<= n;
      138. #endif
      139.     bc->bits_left -= n;
               ^
      140. 
      141.     return ret;
