From 744d0fc4f1ded6ab56c17f662d3c801af71b74f1 Mon Sep 17 00:00:00 2001 From: Lann Martin Date: Wed, 5 Aug 2026 15:22:55 -0400 Subject: [PATCH] fix(bindgen): fix utf-8 to utf-16 transcode length calculation --- crates/js-component-bindgen/src/transpile_bindgen.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/crates/js-component-bindgen/src/transpile_bindgen.rs b/crates/js-component-bindgen/src/transpile_bindgen.rs index 97f56dfd6..c33f8d6ed 100644 --- a/crates/js-component-bindgen/src/transpile_bindgen.rs +++ b/crates/js-component-bindgen/src/transpile_bindgen.rs @@ -2462,12 +2462,12 @@ impl<'a> Instantiator<'a, '_> { function trampoline{i} (from_ptr, len, to_ptr) {{ const decoder = new TextDecoder(); const content = decoder.decode(new Uint8Array(memory{from}.buffer, from_ptr, len)); - const strlen = content.length - const view = new Uint16Array(memory{to}.buffer, to_ptr, strlen * 2) - for (var i = 0; i < strlen; i++) {{ + const codeUnits = content.length; + const view = new Uint16Array(memory{to}.buffer, to_ptr, codeUnits); + for (var i = 0; i < codeUnits; i++) {{ view[i] = content.charCodeAt(i); }} - return strlen; + return codeUnits; }} "#, );