diff options
author | 2022-07-12 00:20:29 -0700 | |
---|---|---|
committer | 2022-07-12 00:20:46 -0700 | |
commit | 7b708255f5364175713cbe3b72634718aaec056f (patch) | |
tree | 8b137a02779795cf7afdb92ea5bde65f666e7655 | |
parent | 46e8717e6c85f52c261f324767bc754809c1fdee (diff) | |
download | bun-7b708255f5364175713cbe3b72634718aaec056f.tar.gz bun-7b708255f5364175713cbe3b72634718aaec056f.tar.zst bun-7b708255f5364175713cbe3b72634718aaec056f.zip |
[jsc] Fix segfault with promises
-rw-r--r-- | src/bun.js/bindings/bindings.cpp | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/src/bun.js/bindings/bindings.cpp b/src/bun.js/bindings/bindings.cpp index 1d4c2b171..443edd873 100644 --- a/src/bun.js/bindings/bindings.cpp +++ b/src/bun.js/bindings/bindings.cpp @@ -89,12 +89,11 @@ static void copyToUWS(WebCore::FetchHeaders* headers, UWSResponse* res) template<typename PromiseType, bool isInternal> static void handlePromise(PromiseType* promise, JSC__JSGlobalObject* globalObject, void* ctx, void (*ArgFn3)(void*, JSC__JSGlobalObject* arg0, JSC__CallFrame* callFrame), void (*ArgFn4)(void*, JSC__JSGlobalObject* arg0, JSC__CallFrame* callFrame)) { - gcProtect(promise); + auto globalThis = reinterpret_cast<Zig::GlobalObject*>(globalObject); JSC::JSNativeStdFunction* resolverFunction = JSC::JSNativeStdFunction::create( globalObject->vm(), globalObject, 1, String(), [ctx, promise, ArgFn3](JSC::JSGlobalObject* globalObject, JSC::CallFrame* callFrame) -> const JSC::EncodedJSValue { ArgFn3(ctx, globalObject, callFrame); - gcUnprotect(promise); return JSC::JSValue::encode(JSC::jsUndefined()); }); @@ -102,7 +101,6 @@ static void handlePromise(PromiseType* promise, JSC__JSGlobalObject* globalObjec globalObject->vm(), globalObject, 1, String(), [ctx, promise, ArgFn4](JSC::JSGlobalObject* globalObject, JSC::CallFrame* callFrame) -> JSC::EncodedJSValue { ArgFn4(ctx, globalObject, callFrame); - gcUnprotect(promise); return JSC::JSValue::encode(JSC::jsUndefined()); }); |