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

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:392:5: Assignment
  390. {
  391.     /** consumes up to 34 bits */
  392.     int n_bits = 8;
           ^
  393.     /** decode length */
  394.     if (bitstream_read_bit(bc)) {

libavcodec/wma.c:402:12: Call
  400.         }
  401.     }
  402.     return bitstream_read(bc, n_bits);
                  ^
  403. }
  404. 

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/wma.c:452:21: Call
450.                 level = ff_wma_get_large_val(bc);
451.                 /** escape decode */
452.                 if (bitstream_read_bit(bc)) {
                         ^
453.                     if (bitstream_read_bit(bc)) {
454.                         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: <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: ([0, +oo] - 1):unsigned32 by call to `bitstream_read_bit` 
    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}', '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 uint32_t bitstream_read(BitstreamContext *bc, unsigned n)\n{\n    if (!n)\n        return 0;\n    if (n > bc->bits_left) {\n        refill_32(bc);\n        if (bc->bits_left < 32)\n            bc->bits_left = n;\n    }\n    return get_val(bc, n);\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}']