Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nodejs/node.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBen Noordhuis <info@bnoordhuis.nl>2020-08-22 11:40:05 +0300
committerRich Trott <rtrott@gmail.com>2020-08-24 17:32:30 +0300
commitb8ab49fc53b4d6c5bbae9a639103da058beaa84a (patch)
treea41c64db13c0599219ad573f8228ec84b054e4c6 /src
parentc3d337db5d4535840cd4dfaf438d6062eec6d60c (diff)
src: fix abort on uv_loop_init() failure
Fixes: https://github.com/nodejs/node/issues/34855 PR-URL: https://github.com/nodejs/node/pull/34874 Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Denys Otrishko <shishugi@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
Diffstat (limited to 'src')
-rw-r--r--src/spawn_sync.cc10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/spawn_sync.cc b/src/spawn_sync.cc
index d7d06be34bd..1141aceae98 100644
--- a/src/spawn_sync.cc
+++ b/src/spawn_sync.cc
@@ -457,9 +457,17 @@ Maybe<bool> SyncProcessRunner::TryInitializeAndRunLoop(Local<Value> options) {
SetError(UV_ENOMEM);
return Just(false);
}
- CHECK_EQ(uv_loop_init(uv_loop_), 0);
+
+ r = uv_loop_init(uv_loop_);
+ if (r < 0) {
+ delete uv_loop_;
+ uv_loop_ = nullptr;
+ SetError(r);
+ return Just(false);
+ }
if (!ParseOptions(options).To(&r)) return Nothing<bool>();
+
if (r < 0) {
SetError(r);
return Just(false);