diff options
author | 2017-06-26 17:28:28 +0200 | |
---|---|---|
committer | 2017-06-26 18:43:43 +0200 | |
commit | 3759d00356e7bf1dcf42e34cb83ad7bf3153a9c2 (patch) | |
tree | a7e0769e2ab92616914a0881f3c238f26da2a170 /src/main/java/com/google/devtools | |
parent | a7be6f6df4d3cc5f0f8107b8ffc15f0496e001c6 (diff) |
Forbid octal sequences greater than \377 (0xff) in strings.
RELNOTES[INC]:
In strings, octal sequences greater than \377 are now forbidden (e.g. "\\600").
Previously, Blaze had the same behavior as Python 2, where "\\450" == "\050".
PiperOrigin-RevId: 160147169
Diffstat (limited to 'src/main/java/com/google/devtools')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/syntax/Lexer.java | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/Lexer.java b/src/main/java/com/google/devtools/build/lib/syntax/Lexer.java index 5f557b21fb..15283f8a71 100644 --- a/src/main/java/com/google/devtools/build/lib/syntax/Lexer.java +++ b/src/main/java/com/google/devtools/build/lib/syntax/Lexer.java @@ -400,6 +400,9 @@ public final class Lexer { } } } + if (octal > 0xff) { + error("octal escape sequence out of range (maximum is \\377)"); + } literal.append((char) (octal & 0xff)); break; } |