backport change r4389 to branch 31
fix hang in css parser on malformed unicode
diff --git a/src/third_party/css_parser/src/util/utf8/internal/unilib.cc b/src/third_party/css_parser/src/util/utf8/internal/unilib.cc
index e6cc931..4741fa8 100644
--- a/src/third_party/css_parser/src/util/utf8/internal/unilib.cc
+++ b/src/third_party/css_parser/src/util/utf8/internal/unilib.cc
@@ -47,8 +47,8 @@
int bytes_consumed = charntorune(&rune, p, end - p);
// We want to accept Runeerror == U+FFFD as a valid char, but it is used
// by chartorune to indicate error. Luckily, the real codepoint is size 3
- // while errors return bytes_consumed == 1.
- if ((rune == Runeerror && bytes_consumed == 1) ||
+ // while errors return bytes_consumed <= 1.
+ if ((rune == Runeerror && bytes_consumed <= 1) ||
!IsInterchangeValid(rune)) {
break; // Found
}