libavcodec/wmaprodec.c:1542: error: Integer Overflow L2
  ([0, +oo] - 2):unsigned32 by call to `bitstream_skip`.

libavcodec/wmaprodec.c:1541:34: Call
1539.         /** parse packet header */
1540.         bitstream_init(bc, buf, s->buf_bit_size);
1541.         packet_sequence_number = bitstream_read(bc, 4);
                                       ^
1542.         bitstream_skip(bc, 2);
1543. 

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/wmaprodec.c:1542:9: Call
1540.         bitstream_init(bc, buf, s->buf_bit_size);
1541.         packet_sequence_number = bitstream_read(bc, 4);
1542.         bitstream_skip(bc, 2);
              ^
1543. 
1544.         /** get number of bits that need to be added to the previous frame */

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: ([0, +oo] - 2):unsigned32 by call to `bitstream_skip` 
    235.     bc->bits <<= n;
    236. #endif
    237.     bc->bits_left -= n;
             ^
    238. }
    239. 

static inline void skip_remaining(BitstreamContext *bc, unsigned n)
{
#ifdef BITSTREAM_READER_LE
    bc->bits >>= n;
#else
    bc->bits <<= n;
#endif
    bc->bits_left -= n;
}
['static int decode_packet(AVCodecContext *avctx, void *data,\n                         int *got_frame_ptr, AVPacket* avpkt)\n{\n    WMAProDecodeCtx *s = avctx->priv_data;\n    BitstreamContext *bc = &s->pbc;\n    const uint8_t* buf = avpkt->data;\n    int buf_size       = avpkt->size;\n    int num_bits_prev_frame;\n    int packet_sequence_number;\n    *got_frame_ptr = 0;\n    if (s->packet_done || s->packet_loss) {\n        s->packet_done = 0;\n        if (buf_size < avctx->block_align) {\n            av_log(avctx, AV_LOG_ERROR, "Input packet too small (%d < %d)\\n",\n                   buf_size, avctx->block_align);\n            return AVERROR_INVALIDDATA;\n        }\n        s->next_packet_start = buf_size - avctx->block_align;\n        buf_size = avctx->block_align;\n        s->buf_bit_size = buf_size << 3;\n        bitstream_init(bc, buf, s->buf_bit_size);\n        packet_sequence_number = bitstream_read(bc, 4);\n        bitstream_skip(bc, 2);\n        num_bits_prev_frame = bitstream_read(bc, s->log2_frame_size);\n        ff_dlog(avctx, "packet[%d]: nbpf %x\\n", avctx->frame_number,\n                num_bits_prev_frame);\n        if (!s->packet_loss &&\n            ((s->packet_sequence_number + 1) & 0xF) != packet_sequence_number) {\n            s->packet_loss = 1;\n            av_log(avctx, AV_LOG_ERROR,\n                   "Packet loss detected! seq %"PRIx8" vs %x\\n",\n                   s->packet_sequence_number, packet_sequence_number);\n        }\n        s->packet_sequence_number = packet_sequence_number;\n        if (num_bits_prev_frame > 0) {\n            int remaining_packet_bits = s->buf_bit_size - bitstream_tell(bc);\n            if (num_bits_prev_frame >= remaining_packet_bits) {\n                num_bits_prev_frame = remaining_packet_bits;\n                s->packet_done = 1;\n            }\n            save_bits(s, bc, num_bits_prev_frame, 1);\n            ff_dlog(avctx, "accumulated %x bits of frame data\\n",\n                    s->num_saved_bits - s->frame_offset);\n            if (!s->packet_loss)\n                decode_frame(s, data, got_frame_ptr);\n        } else if (s->num_saved_bits - s->frame_offset) {\n            ff_dlog(avctx, "ignoring %x previously saved bits\\n",\n                    s->num_saved_bits - s->frame_offset);\n        }\n        if (s->packet_loss) {\n            s->num_saved_bits = 0;\n            s->packet_loss = 0;\n        }\n    } else {\n        int frame_size;\n        s->buf_bit_size = (avpkt->size - s->next_packet_start) << 3;\n        bitstream_init(bc, avpkt->data, s->buf_bit_size);\n        bitstream_skip(bc, s->packet_offset);\n        if (s->len_prefix && remaining_bits(s, bc) > s->log2_frame_size &&\n            (frame_size = bitstream_peek(bc, s->log2_frame_size)) &&\n            frame_size <= remaining_bits(s, bc)) {\n            save_bits(s, bc, frame_size, 0);\n            s->packet_done = !decode_frame(s, data, got_frame_ptr);\n        } else if (!s->len_prefix\n                   && s->num_saved_bits > bitstream_tell(&s->bc)) {\n            s->packet_done = !decode_frame(s, data, got_frame_ptr);\n        } else\n            s->packet_done = 1;\n    }\n    if (s->packet_done && !s->packet_loss &&\n        remaining_bits(s, bc) > 0) {\n        save_bits(s, bc, remaining_bits(s, bc), 0);\n    }\n    s->packet_offset = bitstream_tell(bc) & 7;\n    if (s->packet_loss)\n        return AVERROR_INVALIDDATA;\n    return bitstream_tell(bc) >> 3;\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 void bitstream_skip(BitstreamContext *bc, unsigned n)\n{\n    if (n <= bc->bits_left)\n        skip_remaining(bc, n);\n    else {\n        n -= bc->bits_left;\n        skip_remaining(bc, bc->bits_left);\n        if (n >= 64) {\n            unsigned skip = n / 8;\n            n -= skip * 8;\n            bc->ptr += skip;\n        }\n        refill_64(bc);\n        if (n)\n            skip_remaining(bc, n);\n    }\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}']