aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/node/node_fs_binding.zig
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2023-01-18 01:16:13 -0800
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2023-01-18 01:16:13 -0800
commit2db04ef9d9ddf6531b0a77c3b0867bc80388a039 (patch)
tree6430e9e6f8043897ddab77f07515ddb4212d94c7 /src/bun.js/node/node_fs_binding.zig
parent4cb6a34432899df08ac4174334ab7d6a374a48e2 (diff)
downloadbun-v0.5.0.tar.gz
bun-v0.5.0.tar.zst
bun-v0.5.0.zip
Fix crash with invalid arguments in readdir()bun-v0.5.0
Diffstat (limited to 'src/bun.js/node/node_fs_binding.zig')
-rw-r--r--src/bun.js/node/node_fs_binding.zig7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/bun.js/node/node_fs_binding.zig b/src/bun.js/node/node_fs_binding.zig
index 07ecf4619..219f85cd8 100644
--- a/src/bun.js/node/node_fs_binding.zig
+++ b/src/bun.js/node/node_fs_binding.zig
@@ -38,11 +38,16 @@ fn callSync(comptime FunctionEnum: NodeFSFunctionEnum) NodeFSFunction {
var exceptionref: JSC.C.JSValueRef = null;
var arguments = callframe.arguments(8);
+
var slice = ArgumentsSlice.init(globalObject.bunVM(), arguments.ptr[0..arguments.len]);
defer slice.deinit();
const args = if (comptime Arguments != void)
- (Arguments.fromJS(globalObject, &slice, &exceptionref) orelse return .zero)
+ (Arguments.fromJS(globalObject, &slice, &exceptionref) orelse {
+ std.debug.assert(exceptionref != null);
+ globalObject.throwValue(JSC.JSValue.c(exceptionref));
+ return .zero;
+ })
else
Arguments{};