diff options
| author | Igor Stojković <stojkovic.igor@gmail.com> | 2024-09-23 22:06:30 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-09-23 13:06:30 -0700 |
| commit | 0676c04681ad7104faa7634c781df386e839d17b (patch) | |
| tree | 820e9619b6449516c4ff4cba6cb6db6edc216034 /lib/std | |
| parent | 943176bbfcf3125451fa64e082ee357c28e70413 (diff) | |
| download | zig-0676c04681ad7104faa7634c781df386e839d17b.tar.gz zig-0676c04681ad7104faa7634c781df386e839d17b.zip | |
tokenizer: fix 0 byte following invalid (#21482)
closes #21481
Diffstat (limited to 'lib/std')
| -rw-r--r-- | lib/std/zig/tokenizer.zig | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/std/zig/tokenizer.zig b/lib/std/zig/tokenizer.zig index db69693a93..7f82db786f 100644 --- a/lib/std/zig/tokenizer.zig +++ b/lib/std/zig/tokenizer.zig @@ -535,6 +535,8 @@ pub const Tokenizer = struct { switch (self.buffer[self.index]) { 0 => if (self.index == self.buffer.len) { result.tag = .invalid; + } else { + continue :state .invalid; }, '\n' => result.tag = .invalid, else => continue :state .invalid, @@ -1250,6 +1252,7 @@ test "invalid token characters" { test "invalid literal/comment characters" { try testTokenize("\"\x00\"", &.{.invalid}); + try testTokenize("`\x00`", &.{.invalid}); try testTokenize("//\x00", &.{.invalid}); try testTokenize("//\x1f", &.{.invalid}); try testTokenize("//\x7f", &.{.invalid}); |
