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

libavcodec/wmaprodec.c:1334:17: Call
1332.         if (bitstream_read_bit(bc)) {
1333.             for (i = 0; i < avctx->channels * avctx->channels; i++)
1334.                 bitstream_skip(bc, 4);
                      ^
1335.         }
1336.     }

libavcodec/bitstream.h:247:9: Assignment
  245.         n -= bc->bits_left;
  246.         bc->bits      = 0;
  247.         bc->bits_left = 0;
               ^
  248. 
  249.         if (n >= 64) {

libavcodec/bitstream.h:255:9: Call
  253.             bc->ptr += skip;
  254.         }
  255.         refill_64(bc);
               ^
  256.         if (n)
  257.             skip_remaining(bc, n);

libavcodec/bitstream.h:45:1: Parameter `bc->bits_left`
    43. } BitstreamContext;
    44. 
    45. static inline void refill_64(BitstreamContext *bc)
        ^
    46. {
    47.     if (bc->ptr >= bc->buffer_end)

libavcodec/wmaprodec.c:1334:17: Call
1332.         if (bitstream_read_bit(bc)) {
1333.             for (i = 0; i < avctx->channels * avctx->channels; i++)
1334.                 bitstream_skip(bc, 4);
                      ^
1335.         }
1336.     }

libavcodec/bitstream.h:240:1: Parameter `n`
  238. 
  239. /* Skip n bits in the buffer. */
  240. static inline void bitstream_skip(BitstreamContext *bc, unsigned n)
       ^
  241. {
  242.     if (n < bc->bits_left)

libavcodec/bitstream.h:243:9: Call
  241. {
  242.     if (n < bc->bits_left)
  243.         skip_remaining(bc, n);
               ^
  244.     else {
  245.         n -= bc->bits_left;

libavcodec/bitstream.h:229:1: <LHS trace>
227. }
228. 
229. static inline void skip_remaining(BitstreamContext *bc, unsigned n)
     ^
230. {
231. #ifdef BITSTREAM_READER_LE

libavcodec/bitstream.h:229:1: Parameter `bc->bits_left`
    227. }
    228. 
    229. static inline void skip_remaining(BitstreamContext *bc, unsigned n)
         ^
    230. {
    231. #ifdef BITSTREAM_READER_LE

libavcodec/bitstream.h:229:1: <RHS trace>
227. }
228. 
229. static inline void skip_remaining(BitstreamContext *bc, unsigned n)
     ^
230. {
231. #ifdef BITSTREAM_READER_LE

libavcodec/bitstream.h:229:1: Parameter `n`
    227. }
    228. 
    229. static inline void skip_remaining(BitstreamContext *bc, unsigned n)
         ^
    230. {
    231. #ifdef BITSTREAM_READER_LE

libavcodec/bitstream.h:236:5: Binary operation: ([0, +oo] - 4):unsigned32 by call to `bitstream_skip` 
    234.     bc->bits <<= n;
    235. #endif
    236.     bc->bits_left -= n;
             ^
    237. }
    238. 

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_frame(WMAProDecodeCtx *s, AVFrame *frame, int *got_frame_ptr)\n{\n    AVCodecContext *avctx = s->avctx;\n    BitstreamContext *bc = &s->bc;\n    int more_frames = 0;\n    int len = 0;\n    int i, ret;\n    if (s->len_prefix)\n        len = bitstream_read(bc, s->log2_frame_size);\n    ff_dlog(s->avctx, "decoding frame with length %x\\n", len);\n    if (decode_tilehdr(s)) {\n        s->packet_loss = 1;\n        return 0;\n    }\n    if (s->avctx->channels > 1 && bitstream_read_bit(bc)) {\n        if (bitstream_read_bit(bc)) {\n            for (i = 0; i < avctx->channels * avctx->channels; i++)\n                bitstream_skip(bc, 4);\n        }\n    }\n    if (s->dynamic_range_compression) {\n        s->drc_gain = bitstream_read(bc, 8);\n        ff_dlog(s->avctx, "drc_gain %i\\n", s->drc_gain);\n    }\n    if (bitstream_read_bit(bc)) {\n        int av_unused skip;\n        if (bitstream_read_bit(bc)) {\n            skip = bitstream_read(bc, av_log2(s->samples_per_frame * 2));\n            ff_dlog(s->avctx, "start skip: %i\\n", skip);\n        }\n        if (bitstream_read_bit(bc)) {\n            skip = bitstream_read(bc, av_log2(s->samples_per_frame * 2));\n            ff_dlog(s->avctx, "end skip: %i\\n", skip);\n        }\n    }\n    ff_dlog(s->avctx, "BITSTREAM: frame header length was %i\\n",\n            bitstream_tell(bc) - s->frame_offset);\n    s->parsed_all_subframes = 0;\n    for (i = 0; i < avctx->channels; i++) {\n        s->channel[i].decoded_samples = 0;\n        s->channel[i].cur_subframe    = 0;\n        s->channel[i].reuse_sf        = 0;\n    }\n    while (!s->parsed_all_subframes) {\n        if (decode_subframe(s) < 0) {\n            s->packet_loss = 1;\n            return 0;\n        }\n    }\n    frame->nb_samples = s->samples_per_frame;\n    if ((ret = ff_get_buffer(avctx, frame, 0)) < 0) {\n        av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\\n");\n        s->packet_loss = 1;\n        return 0;\n    }\n    for (i = 0; i < avctx->channels; i++)\n        memcpy(frame->extended_data[i], s->channel[i].out,\n               s->samples_per_frame * sizeof(*s->channel[i].out));\n    for (i = 0; i < avctx->channels; i++) {\n        memcpy(&s->channel[i].out[0],\n               &s->channel[i].out[s->samples_per_frame],\n               s->samples_per_frame * sizeof(*s->channel[i].out) >> 1);\n    }\n    if (s->skip_frame) {\n        s->skip_frame = 0;\n        *got_frame_ptr = 0;\n        av_frame_unref(frame);\n    } else {\n        *got_frame_ptr = 1;\n    }\n    if (s->len_prefix) {\n        if (len != (bitstream_tell(bc) - s->frame_offset) + 2) {\n            av_log(s->avctx, AV_LOG_ERROR,\n                   "frame[%"PRIu32"] would have to skip %i bits\\n",\n                   s->frame_num,\n                   len - (bitstream_tell(bc) - s->frame_offset) - 1);\n            s->packet_loss = 1;\n            return 0;\n        }\n        bitstream_skip(bc, len - (bitstream_tell(bc) - s->frame_offset) - 1);\n    } else {\n        while (bitstream_tell(bc) < s->num_saved_bits && bitstream_read_bit(bc) == 0) {\n        }\n    }\n    more_frames = bitstream_read_bit(bc);\n    ++s->frame_num;\n    return more_frames;\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        bc->bits      = 0;\n        bc->bits_left = 0;\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 refill_64(BitstreamContext *bc)\n{\n    if (bc->ptr >= bc->buffer_end)\n        return;\n#ifdef BITSTREAM_READER_LE\n    bc->bits       = AV_RL64(bc->ptr);\n#else\n    bc->bits       = AV_RB64(bc->ptr);\n#endif\n    bc->ptr       += 8;\n    bc->bits_left  = 64;\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}']