From a1e62e6bf948d613d5fc2374e7ec0c6c5b67de69 Mon Sep 17 00:00:00 2001 From: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> Date: Sun, 4 Dec 2022 08:15:39 -0800 Subject: Handle exception when creating stdout/stderr --- src/bun.js/bindings/Process.cpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'src/bun.js/bindings/Process.cpp') diff --git a/src/bun.js/bindings/Process.cpp b/src/bun.js/bindings/Process.cpp index baac2c587..6209f13c5 100644 --- a/src/bun.js/bindings/Process.cpp +++ b/src/bun.js/bindings/Process.cpp @@ -84,7 +84,10 @@ JSC_DEFINE_CUSTOM_GETTER( auto& vm = globalObject->vm(); JSC::JSObject* thisObject = value.toObject(globalObject); JSC::JSValue stream = constructStdioWriteStream(globalObject, 1); - thisObject->putDirect(vm, property, stream, 0); + + if (stream) + thisObject->putDirect(vm, property, stream, 0); + return JSValue::encode(stream); } @@ -95,7 +98,10 @@ JSC_DEFINE_CUSTOM_GETTER( auto& vm = globalObject->vm(); JSC::JSObject* thisObject = value.toObject(globalObject); JSC::JSValue stream = constructStdioWriteStream(globalObject, 2); - thisObject->putDirect(vm, property, stream, 0); + + if (stream) + thisObject->putDirect(vm, property, stream, 0); + return JSValue::encode(stream); } @@ -106,7 +112,8 @@ JSC_DEFINE_CUSTOM_SETTER(Process_defaultSetter, JSC::VM& vm = globalObject->vm(); JSC::JSObject* thisObject = JSC::jsDynamicCast(JSValue::decode(thisValue)); - thisObject->putDirect(vm, propertyName, JSValue::decode(value), 0); + if (value) + thisObject->putDirect(vm, propertyName, JSValue::decode(value), 0); return true; } -- cgit v1.2.3