diff options
author | 2022-03-31 04:29:40 -0700 | |
---|---|---|
committer | 2022-03-31 04:29:40 -0700 | |
commit | 7b2ab994e554184c7bdfbbc9ed8977314334cecc (patch) | |
tree | 9e91c886c9f8bd4247c634070513b018d498a611 | |
parent | 1f77f2102e3021caa5563e00b5e9842497378837 (diff) | |
download | bun-7b2ab994e554184c7bdfbbc9ed8977314334cecc.tar.gz bun-7b2ab994e554184c7bdfbbc9ed8977314334cecc.tar.zst bun-7b2ab994e554184c7bdfbbc9ed8977314334cecc.zip |
Fix possible infinite loops
-rw-r--r-- | src/js_printer.zig | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/js_printer.zig b/src/js_printer.zig index 85df7fdc8..2e03c9092 100644 --- a/src/js_printer.zig +++ b/src/js_printer.zig @@ -95,7 +95,7 @@ pub fn estimateLengthForJSON(input: []const u8, comptime ascii_only: bool) usize while (strings.indexOfNeedsEscape(remaining)) |i| { len += i; remaining = remaining[i..]; - const char_len = strings.wtf8ByteSequenceLength(remaining[0]); + const char_len = strings.wtf8ByteSequenceLengthWithInvalid(remaining[0]); const c = strings.decodeWTF8RuneT(remaining.ptr[0..4], char_len, i32, 0); if (canPrintWithoutEscape(i32, c, ascii_only)) { len += @as(u32, char_len); @@ -119,7 +119,7 @@ pub fn quoteForJSON(text: []const u8, output_: MutableString, comptime ascii_onl var i: usize = 0; var n: usize = text.len; while (i < n) { - const width = strings.wtf8ByteSequenceLength(text[i]); + const width = strings.wtf8ByteSequenceLengthWithInvalid(text[i]); const c = strings.decodeWTF8RuneT(text.ptr[i .. i + 4][0..4], width, i32, 0); if (canPrintWithoutEscape(i32, c, ascii_only)) { const remain = text[i + @as(usize, width) ..]; @@ -243,7 +243,7 @@ pub fn writeJSONString(text: []const u8, comptime Writer: type, writer: Writer, var i: usize = 0; var n: usize = text.len; while (i < n) { - const width = strings.wtf8ByteSequenceLength(text[i]); + const width = strings.wtf8ByteSequenceLengthWithInvalid(text[i]); const c = strings.decodeWTF8RuneT(text.ptr[i .. i + 4][0..4], width, i32, 0); if (canPrintWithoutEscape(i32, c, ascii_only)) { const remain = text[i + @as(usize, width) ..]; |