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-07 00:50:32 -0800
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-11-07 00:50:32 -0800
commit072cd5a7457c44f37786df4d6dc57e4c5caa1bae (patch)
treeb99058842b0f56bbd502f465e1e3623b8d0a1e56 /src/bun.js/javascript.zig
parentc52d9fd1b69ae5ec123b6eb0311e45e36e7e6c3c (diff)
downloadbun-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.zig4
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()) {