diff options
author | Anna Henningsen <anna@addaleax.net> | 2018-12-16 14:34:37 +0100 |
---|---|---|
committer | Daniel Bevenius <daniel.bevenius@gmail.com> | 2018-12-19 05:30:31 +0100 |
commit | e1ab457490925ddbf9f234973c4338bd0690acb5 (patch) | |
tree | 2937d16f806ea1761760fe54dbd9f42cd7ec1905 /src/node_messaging.cc | |
parent | dbdfc5d656dc05d23a48aeb656454040c20217d8 (diff) | |
download | android-node-v8-e1ab457490925ddbf9f234973c4338bd0690acb5.tar.gz android-node-v8-e1ab457490925ddbf9f234973c4338bd0690acb5.tar.bz2 android-node-v8-e1ab457490925ddbf9f234973c4338bd0690acb5.zip |
worker: fix nullptr deref after MessagePort deser failure
This would previously always have crashed when deserializing
a `MessagePort` fails, because there was always at least one
`nullptr` entry in the vector.
PR-URL: https://github.com/nodejs/node/pull/25076
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Diffstat (limited to 'src/node_messaging.cc')
-rw-r--r-- | src/node_messaging.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/node_messaging.cc b/src/node_messaging.cc index c9b5e32447..ae60187b6f 100644 --- a/src/node_messaging.cc +++ b/src/node_messaging.cc @@ -90,7 +90,8 @@ MaybeLocal<Value> Message::Deserialize(Environment* env, if (ports[i] == nullptr) { for (MessagePort* port : ports) { // This will eventually release the MessagePort object itself. - port->Close(); + if (port != nullptr) + port->Close(); } return MaybeLocal<Value>(); } |