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

libavcodec/wma.c:421:1: Parameter `(*vlc->table)[*]`
419.  * @return 0 on success, -1 otherwise
420.  */
421. int ff_wma_run_level_decode(AVCodecContext *avctx, BitstreamContext *bc,
     ^
422.                             VLC *vlc, const float *level_table,
423.                             const uint16_t *run_table, int version,

libavcodec/wma.c:433:16: Call
431.     const unsigned int coef_mask = block_len - 1;
432.     for (; offset < num_coefs; offset++) {
433.         code = bitstream_read_vlc(bc, vlc->table, VLCBITS, VLCMAX);
                    ^
434.         if (code > 1) {
435.             /** normal code */

libavcodec/bitstream.h:313:1: Parameter `(*table)[*]`
  311.  * If the VLC code is invalid and max_depth > 1, then the number of bits removed
  312.  * is undefined. */
  313. static inline int bitstream_read_vlc(BitstreamContext *bc, VLC_TYPE (*table)[2],
       ^
  314.                                      int bits, int max_depth)
  315. {

libavcodec/bitstream.h:319:5: Assignment
  317.     unsigned idx = bitstream_peek(bc, bits);
  318.     int code = table[idx][0];
  319.     int n    = table[idx][1];
           ^
  320. 
  321.     if (max_depth > 1 && n < 0) {

libavcodec/bitstream.h:329:5: Call
  327.         }
  328.     }
  329.     skip_remaining(bc, n);
           ^
  330. 
  331.     return code;

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

libavcodec/wma.c:450:25: Call
448.                 offset += bitstream_read(bc, frame_len_bits);
449.             } else {
450.                 level = ff_wma_get_large_val(bc);
                             ^
451.                 /** escape decode */
452.                 if (bitstream_read_bit(bc)) {

libavcodec/wma.c:389:1: Parameter `bc->bits_left`
  387.  * @return the decoded coefficient
  388.  */
  389. unsigned int ff_wma_get_large_val(BitstreamContext *bc)
       ^
  390. {
  391.     /** consumes up to 34 bits */

libavcodec/wma.c:394:9: Call
  392.     int n_bits = 8;
  393.     /** decode length */
  394.     if (bitstream_read_bit(bc)) {
               ^
  395.         n_bits += 8;
  396.         if (bitstream_read_bit(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/wma.c:396:13: Call
  394.     if (bitstream_read_bit(bc)) {
  395.         n_bits += 8;
  396.         if (bitstream_read_bit(bc)) {
                   ^
  397.             n_bits += 8;
  398.             if (bitstream_read_bit(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/wma.c:398:17: Call
  396.         if (bitstream_read_bit(bc)) {
  397.             n_bits += 8;
  398.             if (bitstream_read_bit(bc))
                       ^
  399.                 n_bits += 7;
  400.         }

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

static inline uint64_t get_val(BitstreamContext *bc, unsigned n)
{
#ifdef BITSTREAM_READER_LE
    uint64_t ret = bc->bits & ((UINT64_C(1) << n) - 1);
    bc->bits >>= n;
#else
    uint64_t ret = bc->bits >> (64 - n);
    bc->bits <<= n;
#endif
    bc->bits_left -= n;
    return ret;
}
['int ff_wma_run_level_decode(AVCodecContext *avctx, BitstreamContext *bc,\n                            VLC *vlc, const float *level_table,\n                            const uint16_t *run_table, int version,\n                            WMACoef *ptr, int offset, int num_coefs,\n                            int block_len, int frame_len_bits,\n                            int coef_nb_bits)\n{\n    int code, level, sign;\n    const uint32_t *ilvl = (const uint32_t *) level_table;\n    uint32_t *iptr = (uint32_t *) ptr;\n    const unsigned int coef_mask = block_len - 1;\n    for (; offset < num_coefs; offset++) {\n        code = bitstream_read_vlc(bc, vlc->table, VLCBITS, VLCMAX);\n        if (code > 1) {\n            offset                  += run_table[code];\n            sign                     = bitstream_read_bit(bc) - 1;\n            iptr[offset & coef_mask] = ilvl[code] ^ sign << 31;\n        } else if (code == 1) {\n            break;\n        } else {\n            if (!version) {\n                level = bitstream_read(bc, coef_nb_bits);\n                offset += bitstream_read(bc, frame_len_bits);\n            } else {\n                level = ff_wma_get_large_val(bc);\n                if (bitstream_read_bit(bc)) {\n                    if (bitstream_read_bit(bc)) {\n                        if (bitstream_read_bit(bc)) {\n                            av_log(avctx, AV_LOG_ERROR,\n                                   "broken escape sequence\\n");\n                            return -1;\n                        } else\n                            offset += bitstream_read(bc, frame_len_bits) + 4;\n                    } else\n                        offset += bitstream_read(bc, 2) + 1;\n                }\n            }\n            sign                    = bitstream_read_bit(bc) - 1;\n            ptr[offset & coef_mask] = (level ^ sign) - sign;\n        }\n    }\n    if (offset > num_coefs) {\n        av_log(avctx, AV_LOG_ERROR, "overflow in spectral RLE, ignoring\\n");\n        return -1;\n    }\n    return 0;\n}', 'static inline int bitstream_read_vlc(BitstreamContext *bc, VLC_TYPE (*table)[2],\n                                     int bits, int max_depth)\n{\n    int nb_bits;\n    unsigned idx = bitstream_peek(bc, bits);\n    int code = table[idx][0];\n    int n    = table[idx][1];\n    if (max_depth > 1 && n < 0) {\n        skip_remaining(bc, bits);\n        code = set_idx(bc, code, &n, &nb_bits, table);\n        if (max_depth > 2 && n < 0) {\n            skip_remaining(bc, nb_bits);\n            code = set_idx(bc, code, &n, &nb_bits, table);\n        }\n    }\n    skip_remaining(bc, n);\n    return code;\n}', 'static inline void skip_remaining(BitstreamContext *bc, unsigned n)\n{\n#ifdef BITSTREAM_READER_LE\n    bc->bits >>= n;\n#else\n    bc->bits <<= n;\n#endif\n    bc->bits_left -= n;\n}', 'unsigned int ff_wma_get_large_val(BitstreamContext *bc)\n{\n    int n_bits = 8;\n    if (bitstream_read_bit(bc)) {\n        n_bits += 8;\n        if (bitstream_read_bit(bc)) {\n            n_bits += 8;\n            if (bitstream_read_bit(bc))\n                n_bits += 7;\n        }\n    }\n    return bitstream_read(bc, n_bits);\n}', 'static inline unsigned bitstream_read_bit(BitstreamContext *bc)\n{\n    if (!bc->bits_left)\n        refill_64(bc);\n    return get_val(bc, 1);\n}', 'static inline uint64_t get_val(BitstreamContext *bc, unsigned n)\n{\n#ifdef BITSTREAM_READER_LE\n    uint64_t ret = bc->bits & ((UINT64_C(1) << n) - 1);\n    bc->bits >>= n;\n#else\n    uint64_t ret = bc->bits >> (64 - n);\n    bc->bits <<= n;\n#endif\n    bc->bits_left -= n;\n    return ret;\n}']