aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/sksl/SkSLLexer.cpp
diff options
context:
space:
mode:
authorGravatar Ethan Nicholas <ethannicholas@google.com>2017-10-06 14:22:22 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-10-17 21:05:11 +0000
commite148bf714e39ad006d82d99ed40f2ad1dfa6b905 (patch)
treee20cd4884ddbd0389ae3523d5bdcb96a61a682af /src/sksl/SkSLLexer.cpp
parent84366d22d6535dd955d9aa14bb0f364381c3f45d (diff)
fix for SkSL lexer crash on non-ASCII input
Bug: skia:7126 Change-Id: Ic884d14daf91fd668afe9e29d2f82d1ef1089cce Reviewed-on: https://skia-review.googlesource.com/56720 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Diffstat (limited to 'src/sksl/SkSLLexer.cpp')
-rw-r--r--src/sksl/SkSLLexer.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/sksl/SkSLLexer.cpp b/src/sksl/SkSLLexer.cpp
index 2b3d465cb3..c97ded924f 100644
--- a/src/sksl/SkSLLexer.cpp
+++ b/src/sksl/SkSLLexer.cpp
@@ -926,6 +926,9 @@ Token Lexer::next() {
Token::Kind lastAccept = Token::Kind::INVALID;
int lastAcceptEnd = startOffset + 1;
while (offset < fLength) {
+ if ((uint8_t) fText[offset] >= 127) {
+ break;
+ }
state = transitions[mappings[(int)fText[offset]]][state];
++offset;
if (!state) {