diff options
author | 2022-03-17 20:52:10 -0700 | |
---|---|---|
committer | 2022-03-17 20:52:10 -0700 | |
commit | 6b33912f429e94125eee86757ec5a71cee5dc77a (patch) | |
tree | 43a7f673b7223e2d8f7622aeb9e7346b321decd0 | |
parent | e4f67a7fc9591c4e26a67b97814d2f1780151e40 (diff) | |
download | bun-6b33912f429e94125eee86757ec5a71cee5dc77a.tar.gz bun-6b33912f429e94125eee86757ec5a71cee5dc77a.tar.zst bun-6b33912f429e94125eee86757ec5a71cee5dc77a.zip |
Fix crash when printing errors that are an unexpected type
Diffstat (limited to '')
-rw-r--r-- | integration/bunjs-only-snippets/reportError.test.js | 20 | ||||
-rw-r--r-- | src/javascript/jsc/javascript.zig | 2 |
2 files changed, 21 insertions, 1 deletions
diff --git a/integration/bunjs-only-snippets/reportError.test.js b/integration/bunjs-only-snippets/reportError.test.js index ed25bd743..6ba202b7f 100644 --- a/integration/bunjs-only-snippets/reportError.test.js +++ b/integration/bunjs-only-snippets/reportError.test.js @@ -1,5 +1,25 @@ import { it } from "bun:test"; it("reportError", () => { + console.error("---BEGIN REPORT ERROR TEST--"); + // make sure we don't crash when given non-sensical types reportError(new Error("reportError Test!")); + reportError(true); + reportError(false); + reportError(null); + reportError(123); + reportError(Infinity); + reportError(NaN); + reportError(-NaN); + reportError(""); + reportError(new Uint8Array(1)); + reportError(new Uint8Array(0)); + reportError(new ArrayBuffer(0)); + reportError(new ArrayBuffer(1)); + reportError("string"); + reportError([]); + reportError([123, null]); + reportError({}); + reportError([{}]); + console.error("---END REPORT ERROR TEST--"); }); diff --git a/src/javascript/jsc/javascript.zig b/src/javascript/jsc/javascript.zig index 072f685b3..88132aa77 100644 --- a/src/javascript/jsc/javascript.zig +++ b/src/javascript/jsc/javascript.zig @@ -1707,7 +1707,7 @@ pub const VirtualMachine = struct { }, else => { this.printErrorInstance( - @intToEnum(JSValue, @intCast(i64, (@ptrToInt(value)))), + @intToEnum(JSValue, @bitCast(JSValue.Type, (@ptrToInt(value)))), exception_list, Writer, writer, |