diff options
author | 2022-11-07 00:50:32 -0800 | |
---|---|---|
committer | 2022-11-07 00:50:32 -0800 | |
commit | 072cd5a7457c44f37786df4d6dc57e4c5caa1bae (patch) | |
tree | b99058842b0f56bbd502f465e1e3623b8d0a1e56 /src/bun.js/javascript.zig | |
parent | c52d9fd1b69ae5ec123b6eb0311e45e36e7e6c3c (diff) | |
download | bun-072cd5a7457c44f37786df4d6dc57e4c5caa1bae.tar.gz bun-072cd5a7457c44f37786df4d6dc57e4c5caa1bae.tar.zst bun-072cd5a7457c44f37786df4d6dc57e4c5caa1bae.zip |
Fix UAF in canary
Diffstat (limited to 'src/bun.js/javascript.zig')
-rw-r--r-- | src/bun.js/javascript.zig | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/bun.js/javascript.zig b/src/bun.js/javascript.zig index 4068e9cfe..bbc10291c 100644 --- a/src/bun.js/javascript.zig +++ b/src/bun.js/javascript.zig @@ -1220,7 +1220,7 @@ pub const VirtualMachine = struct { return promise; } - promise = JSModuleLoader.loadAndEvaluateModule(this.global, &ZigString.init(std.mem.span(main_file_name))); + promise = JSModuleLoader.loadAndEvaluateModule(this.global, ZigString.static(main_file_name)); this.pending_internal_promise = promise; } else { promise = JSModuleLoader.loadAndEvaluateModule(this.global, &ZigString.init(this.main)); @@ -1704,7 +1704,7 @@ pub const VirtualMachine = struct { "pkg", }; - if (error_instance.isCell()) { + if (error_instance != .zero and error_instance.isCell() and error_instance.jsType().canGet()) { inline for (extra_fields) |field| { if (error_instance.get(this.global, field)) |value| { if (!value.isEmptyOrUndefinedOrNull()) { |