make sure to not use incomplete characters (#1575)

This commit is contained in:
Dylan Conway
2022-12-03 02:59:17 -08:00
committed by GitHub
parent 04658776e4
commit 0a30bf0212

View File

@@ -885,7 +885,10 @@ pub const Encoder = struct {
return ZigString.init(input).toValueGC(global);
},
.ucs2, .utf16le => {
var output = allocator.alloc(u16, @maximum(len / 2, 1)) catch return ZigString.init("Out of memory").toErrorInstance(global);
// Avoid incomplete characters
if (len / 2 == 0) return ZigString.Empty.toValue(global);
var output = allocator.alloc(u16, len / 2) catch return ZigString.init("Out of memory").toErrorInstance(global);
var output_bytes = std.mem.sliceAsBytes(output);
output_bytes[output_bytes.len - 1] = 0;