libavcodec/vc1dec.c:3146: error: Buffer Overrun L1
  Offset: 6 Size: 2 by call to `vc1_sprite_parse_transform`.

libavcodec/vc1dec.c:3140:1: Array declaration
3138. }
3139. 
3140. static void vc1_parse_sprites(VC1Context *v, GetBitContext* gb)
      ^
3141. {
3142.     int effect_type, effect_flag, effect_pcount1, effect_pcount2, i;

libavcodec/vc1dec.c:3146:5: Call
3144. 
3145.     float coefs[2][7];
3146.     vc1_sprite_parse_transform(v, gb, coefs[0]);
          ^
3147.     av_log(v->s.avctx, AV_LOG_DEBUG, "S1:");
3148.     for (i = 0; i < 7; i++)

libavcodec/vc1dec.c:3105:1: <Length trace>
3103. }
3104. 
3105. static void vc1_sprite_parse_transform(VC1Context *v, GetBitContext* gb, float c[7])
      ^
3106. {
3107.     c[1] = c[3] = 0.0f;

libavcodec/vc1dec.c:3105:1: Parameter `*c`
  3103. }
  3104. 
  3105. static void vc1_sprite_parse_transform(VC1Context *v, GetBitContext* gb, float c[7])
        ^
  3106. {
  3107.     c[1] = c[3] = 0.0f;

libavcodec/vc1dec.c:3135:9: Array access: Offset: 6 Size: 2 by call to `vc1_sprite_parse_transform` 
  3133.     c[5] = get_float_val(gb);
  3134.     if (get_bits1(gb))
  3135.         c[6] = get_float_val(gb);
                ^
  3136.     else
  3137.         c[6] = 1.0f;

static void vc1_sprite_parse_transform(VC1Context *v, GetBitContext* gb, float c[7])
{
    c[1] = c[3] = 0.0f;
    switch (get_bits(gb, 2)) {
    case 0:
        c[0] = 1.0f;
        c[2] = get_float_val(gb);
        c[4] = 1.0f;
        break;
    case 1:
        c[0] = c[4] = get_float_val(gb);
        c[2] = get_float_val(gb);
        break;
    case 2:
        c[0] = get_float_val(gb);
        c[2] = get_float_val(gb);
        c[4] = get_float_val(gb);
        break;
    case 3:
        av_log_ask_for_sample(v->s.avctx, NULL);
        c[0] = get_float_val(gb);
        c[1] = get_float_val(gb);
        c[2] = get_float_val(gb);
        c[3] = get_float_val(gb);
        c[4] = get_float_val(gb);
        break;
    }
    c[5] = get_float_val(gb);
    if (get_bits1(gb))
        c[6] = get_float_val(gb);
    else
        c[6] = 1.0f;
}
['static void vc1_parse_sprites(VC1Context *v, GetBitContext* gb)\n{\n    int effect_type, effect_flag, effect_pcount1, effect_pcount2, i;\n    float effect_params1[14], effect_params2[10];\n    float coefs[2][7];\n    vc1_sprite_parse_transform(v, gb, coefs[0]);\n    av_log(v->s.avctx, AV_LOG_DEBUG, "S1:");\n    for (i = 0; i < 7; i++)\n        av_log(v->s.avctx, AV_LOG_DEBUG, " %.3f", coefs[0][i]);\n    av_log(v->s.avctx, AV_LOG_DEBUG, "\\n");\n    if (v->two_sprites) {\n        vc1_sprite_parse_transform(v, gb, coefs[1]);\n        av_log(v->s.avctx, AV_LOG_DEBUG, "S2:");\n        for (i = 0; i < 7; i++)\n            av_log(v->s.avctx, AV_LOG_DEBUG, " %.3f", coefs[1][i]);\n        av_log(v->s.avctx, AV_LOG_DEBUG, "\\n");\n    }\n    skip_bits(gb, 2);\n    if (effect_type = get_bits_long(gb, 30)){\n        switch (effect_pcount1 = get_bits(gb, 4)) {\n        case 2:\n            effect_params1[0] = get_float_val(gb);\n            effect_params1[1] = get_float_val(gb);\n            break;\n        case 7:\n            vc1_sprite_parse_transform(v, gb, effect_params1);\n            break;\n        case 14:\n            vc1_sprite_parse_transform(v, gb, effect_params1);\n            vc1_sprite_parse_transform(v, gb, &effect_params1[7]);\n            break;\n        default:\n            av_log_ask_for_sample(v->s.avctx, NULL);\n            return;\n        }\n        if (effect_type != 13 || effect_params1[0] != coefs[0][6]) {\n            av_log(v->s.avctx, AV_LOG_DEBUG, "Effect: %d; params: ", effect_type);\n            for (i = 0; i < effect_pcount1; i++)\n                av_log(v->s.avctx, AV_LOG_DEBUG, " %.3f", effect_params1[i]);\n            av_log(v->s.avctx, AV_LOG_DEBUG, "\\n");\n        }\n        effect_pcount2 = get_bits(gb, 16);\n        if (effect_pcount2 > 10) {\n            av_log(v->s.avctx, AV_LOG_ERROR, "Too many effect parameters\\n");\n            return;\n        } else if (effect_pcount2) {\n            i = 0;\n            av_log(v->s.avctx, AV_LOG_DEBUG, "Effect params 2: ");\n            while (i < effect_pcount2){\n                effect_params2[i] = get_float_val(gb);\n                av_log(v->s.avctx, AV_LOG_DEBUG, " %.3f", effect_params2[i]);\n                i++;\n            }\n            av_log(v->s.avctx, AV_LOG_DEBUG, "\\n");\n        }\n    }\n    if (effect_flag = get_bits1(gb))\n        av_log(v->s.avctx, AV_LOG_DEBUG, "Effect flag set\\n");\n    if (get_bits_count(gb) >= gb->size_in_bits +\n       (v->s.avctx->codec_id == CODEC_ID_WMV3 ? 64 : 0))\n        av_log(v->s.avctx, AV_LOG_ERROR, "Buffer overrun\\n");\n    if (get_bits_count(gb) < gb->size_in_bits - 8)\n        av_log(v->s.avctx, AV_LOG_WARNING, "Buffer not fully read\\n");\n}', 'static void vc1_sprite_parse_transform(VC1Context *v, GetBitContext* gb, float c[7])\n{\n    c[1] = c[3] = 0.0f;\n    switch (get_bits(gb, 2)) {\n    case 0:\n        c[0] = 1.0f;\n        c[2] = get_float_val(gb);\n        c[4] = 1.0f;\n        break;\n    case 1:\n        c[0] = c[4] = get_float_val(gb);\n        c[2] = get_float_val(gb);\n        break;\n    case 2:\n        c[0] = get_float_val(gb);\n        c[2] = get_float_val(gb);\n        c[4] = get_float_val(gb);\n        break;\n    case 3:\n        av_log_ask_for_sample(v->s.avctx, NULL);\n        c[0] = get_float_val(gb);\n        c[1] = get_float_val(gb);\n        c[2] = get_float_val(gb);\n        c[3] = get_float_val(gb);\n        c[4] = get_float_val(gb);\n        break;\n    }\n    c[5] = get_float_val(gb);\n    if (get_bits1(gb))\n        c[6] = get_float_val(gb);\n    else\n        c[6] = 1.0f;\n}']