diff --git a/css/parse.go b/css/parse.go index 6d59048..859f496 100644 --- a/css/parse.go +++ b/css/parse.go @@ -196,7 +196,7 @@ func (p *Parser) parseAtRule() GrammarType { atRuleName := p.data if len(atRuleName) > 0 && atRuleName[1] == '-' { if i := bytes.IndexByte(atRuleName[2:], '-'); i != -1 { - atRuleName = atRuleName[i+3:] // skip vendor specific prefix + atRuleName = atRuleName[i+2:] // skip vendor specific prefix } } atRule := ToHash(atRuleName[1:]) diff --git a/css/parse_test.go b/css/parse_test.go index d66bc6b..751a900 100644 --- a/css/parse_test.go +++ b/css/parse_test.go @@ -129,6 +129,9 @@ func TestParser(t *testing.T) { assertParse(t, true, ".class [c=y]{}", ".class [c=y]{}") // tdewolff/minify#16 assertParse(t, true, "table{font-family:Verdana}", "table{font-family:Verdana;}") // tdewolff/minify#22 + // go-fuzz + assertParse(t, true, "@-webkit-", "@-webkit-;") + assert.Equal(t, "Error", ErrorGrammar.String()) assert.Equal(t, "AtRule", AtRuleGrammar.String()) assert.Equal(t, "BeginAtRule", BeginAtRuleGrammar.String())