diff options
-rw-r--r-- | src/tokens.rs | 4 | ||||
-rw-r--r-- | test-suite/tests/invalid-misc.rs | 2 |
2 files changed, 4 insertions, 2 deletions
diff --git a/src/tokens.rs b/src/tokens.rs index 1b5a755..79aeb60 100644 --- a/src/tokens.rs +++ b/src/tokens.rs @@ -331,7 +331,7 @@ impl<'a> Tokenizer<'a> { fn literal_string(&mut self, start: usize) -> Result<Token<'a>, Error> { self.read_string('\'', start, &mut |_me, val, _multi, i, ch| { - if ch == '\u{09}' || ('\u{20}' <= ch && ch <= '\u{10ffff}') { + if ch == '\u{09}' || ('\u{20}' <= ch && ch <= '\u{10ffff}' && ch != '\u{7f}') { val.push(ch); Ok(()) } else { @@ -373,7 +373,7 @@ impl<'a> Tokenizer<'a> { } Ok(()) } - ch if '\u{20}' <= ch && ch <= '\u{10ffff}' => { + ch if '\u{20}' <= ch && ch <= '\u{10ffff}' && ch != '\u{7f}' => { val.push(ch); Ok(()) } diff --git a/test-suite/tests/invalid-misc.rs b/test-suite/tests/invalid-misc.rs index 18edf90..218be4f 100644 --- a/test-suite/tests/invalid-misc.rs +++ b/test-suite/tests/invalid-misc.rs @@ -11,4 +11,6 @@ fn bad() { bad("a = 1_"); bad("''"); bad("a = 9e99999"); + bad("a = \"\u{7f}\""); + bad("a = '\u{7f}'"); } |