diff options
| author | bors <bors@rust-lang.org> | 2018-06-15 19:05:25 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2018-06-15 19:05:25 +0000 |
| commit | 967c1f3be1c9ce0469ae9e30659bdf4da5346a9f (patch) | |
| tree | acc58751578890cbb844cd6907c0022bc6062a45 /src/libsyntax/parse | |
| parent | 24edc416ab3944b680fc73057879da7fa1d50c22 (diff) | |
| parent | 313d6c53df9a2725ab62c653c8e87100ec45724f (diff) | |
| download | rust-967c1f3be1c9ce0469ae9e30659bdf4da5346a9f.tar.gz rust-967c1f3be1c9ce0469ae9e30659bdf4da5346a9f.zip | |
Auto merge of #50296 - cmdd:master, r=nikomatsakis
Add error message for using >= 65535 hashes for raw string literal escapes Fixes #50111.
Diffstat (limited to 'src/libsyntax/parse')
| -rw-r--r-- | src/libsyntax/parse/lexer/mod.rs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/libsyntax/parse/lexer/mod.rs b/src/libsyntax/parse/lexer/mod.rs index 8363c1f39aa..5353ff9a1e1 100644 --- a/src/libsyntax/parse/lexer/mod.rs +++ b/src/libsyntax/parse/lexer/mod.rs @@ -1450,6 +1450,13 @@ impl<'a> StringReader<'a> { self.bump(); let mut hash_count: u16 = 0; while self.ch_is('#') { + if hash_count == 65535 { + let bpos = self.next_pos; + self.fatal_span_(start_bpos, + bpos, + "too many `#` symbols: raw strings may be \ + delimited by up to 65535 `#` symbols").raise(); + } self.bump(); hash_count += 1; } @@ -1680,6 +1687,13 @@ impl<'a> StringReader<'a> { self.bump(); let mut hash_count = 0; while self.ch_is('#') { + if hash_count == 65535 { + let bpos = self.next_pos; + self.fatal_span_(start_bpos, + bpos, + "too many `#` symbols: raw byte strings may be \ + delimited by up to 65535 `#` symbols").raise(); + } self.bump(); hash_count += 1; } |
