Index: Source/core/css/CSSTokenizer-in.cpp |
diff --git a/Source/core/css/CSSTokenizer-in.cpp b/Source/core/css/CSSTokenizer-in.cpp |
index 58a30bc4a0b9ac7c2cd3b44e3ae892e1fb3e3d39..46370a90c985b19530724703169109f26ac49d43 100644 |
--- a/Source/core/css/CSSTokenizer-in.cpp |
+++ b/Source/core/css/CSSTokenizer-in.cpp |
@@ -1481,7 +1481,9 @@ restartAfterComment: |
m_token = ATKEYWORD; |
++result; |
parseIdentifier(result, resultString, hasEscape); |
- detectAtToken<SrcCharacterType>(result - tokenStart<SrcCharacterType>(), hasEscape); |
+ // The standard enables unicode escapes in at-rules. In this case only the resultString will contain the |
+ // correct identifier, hence we have to use it to determine its length instead of the usual pointer arithmetic. |
+ detectAtToken<SrcCharacterType>(resultString.length() + 1, hasEscape); |
} |
break; |