From 8bc42e82ccece25487c54909b7acef9e2026bbea Mon Sep 17 00:00:00 2001 From: Karl Seguin Date: Fri, 26 Jun 2026 08:40:03 +0800 Subject: [PATCH] only defer promise funcs on non-exception --- src/script/RuntimeQjs.zig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/script/RuntimeQjs.zig b/src/script/RuntimeQjs.zig index 0fb9e6ad6..8ab0acc13 100644 --- a/src/script/RuntimeQjs.zig +++ b/src/script/RuntimeQjs.zig @@ -387,9 +387,9 @@ fn invokeGoto( ) q.JSValue { var funcs: [2]q.JSValue = undefined; const promise = q.JS_NewPromiseCapability(ctx, &funcs); + if (q.JS_IsException(promise)) return self.throwError(ctx, "internal: resolver alloc failed"); defer q.JS_FreeValue(ctx, funcs[0]); defer q.JS_FreeValue(ctx, funcs[1]); - if (q.JS_IsException(promise)) return self.throwError(ctx, "internal: resolver alloc failed"); const result = self.callTool(arena, .goto, args) catch |err| switch (err) { error.OutOfMemory => {