From 803392e9f14baeedfe37308cf0ff47978bf3f5e6 Mon Sep 17 00:00:00 2001
From: murgatroid99 <mlumish@google.com>
Date: Tue, 11 Apr 2017 12:13:08 -0700
Subject: [PATCH] Node server: add NULL check to tryShutdown

---
 src/node/ext/server.cc | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/node/ext/server.cc b/src/node/ext/server.cc
index 22c89c5862..2d017dd048 100644
--- a/src/node/ext/server.cc
+++ b/src/node/ext/server.cc
@@ -277,6 +277,12 @@ NAN_METHOD(Server::TryShutdown) {
     return Nan::ThrowTypeError("tryShutdown can only be called on a Server");
   }
   Server *server = ObjectWrap::Unwrap<Server>(info.This());
+  if (server->wrapped_server == NULL) {
+    // Server is already shut down. Call callback immediately.
+    Nan::Callback callback(info[0].As<Function>());
+    callback.Call(0, {});
+    return;
+  }
   TryShutdownOp *op = new TryShutdownOp(server, info.This());
   unique_ptr<OpVec> ops(new OpVec());
   ops->push_back(unique_ptr<Op>(op));
-- 
GitLab