mirror of
https://github.com/oven-sh/bun
synced 2026-02-16 22:01:47 +00:00
Fix hypothetical OOB in toml parser (#17789)
This commit is contained in:
@@ -156,11 +156,18 @@ pub const Lexer = struct {
|
||||
}
|
||||
|
||||
inline fn nextCodepointSlice(it: *Lexer) []const u8 {
|
||||
if (it.current >= it.source.contents.len) {
|
||||
return "";
|
||||
}
|
||||
const cp_len = strings.wtf8ByteSequenceLengthWithInvalid(it.source.contents.ptr[it.current]);
|
||||
return if (!(cp_len + it.current > it.source.contents.len)) it.source.contents[it.current .. cp_len + it.current] else "";
|
||||
}
|
||||
|
||||
inline fn nextCodepoint(it: *Lexer) CodePoint {
|
||||
if (it.current >= it.source.contents.len) {
|
||||
it.end = it.source.contents.len;
|
||||
return -1;
|
||||
}
|
||||
const cp_len = strings.wtf8ByteSequenceLengthWithInvalid(it.source.contents.ptr[it.current]);
|
||||
const slice = if (!(cp_len + it.current > it.source.contents.len)) it.source.contents[it.current .. cp_len + it.current] else "";
|
||||
|
||||
|
||||
Reference in New Issue
Block a user