aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/javascript.zig
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-11-14 17:52:19 -0800
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-11-14 17:53:15 -0800
commit272e71fec2117bc759b2a41e0eaf985f9b064e51 (patch)
treeb459860091ff0f8640557c3b8b4da98513b60636 /src/bun.js/javascript.zig
parent4ba97c7687ec7d6dc2176f37044ae35770180f17 (diff)
downloadbun-272e71fec2117bc759b2a41e0eaf985f9b064e51.tar.gz
bun-272e71fec2117bc759b2a41e0eaf985f9b064e51.tar.zst
bun-272e71fec2117bc759b2a41e0eaf985f9b064e51.zip
Fix string encoding issue in JSC C API usages
Diffstat (limited to '')
-rw-r--r--src/bun.js/javascript.zig11
1 files changed, 3 insertions, 8 deletions
diff --git a/src/bun.js/javascript.zig b/src/bun.js/javascript.zig
index 47b54e8ca..260aca28e 100644
--- a/src/bun.js/javascript.zig
+++ b/src/bun.js/javascript.zig
@@ -2026,14 +2026,9 @@ pub const EventListenerMixin = struct {
if (arguments.len == 0 or arguments.len == 1 or !js.JSValueIsString(ctx, arguments[0]) or !js.JSValueIsObject(ctx, arguments[arguments.len - 1]) or !js.JSObjectIsFunction(ctx, arguments[arguments.len - 1])) {
return js.JSValueMakeUndefined(ctx);
}
-
- const name_len = js.JSStringGetLength(arguments[0]);
- if (name_len > event_listener_names_buf.len) {
- return js.JSValueMakeUndefined(ctx);
- }
-
- const name_used_len = js.JSStringGetUTF8CString(arguments[0], &event_listener_names_buf, event_listener_names_buf.len);
- const name = event_listener_names_buf[0 .. name_used_len - 1];
+ var name_slice = JSValue.c(arguments[0]).toSlice(ctx, ctx.allocator());
+ defer name_slice.deinit();
+ const name = name_slice.slice();
const event = EventType.match(name) orelse return js.JSValueMakeUndefined(ctx);
var entry = VirtualMachine.vm.event_listeners.getOrPut(event) catch unreachable;