From 083518f96bfcddad15dffc123e79d89f6ec07554 Mon Sep 17 00:00:00 2001 From: Matt Broadstone Date: Mon, 2 Jul 2018 17:23:44 -0400 Subject: [PATCH] fix(response): ensure null or client/server response is returned --- src/kerberos_client.cc | 9 +++++---- src/kerberos_server.cc | 9 +++++---- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/kerberos_client.cc b/src/kerberos_client.cc index 09e64997..63200695 100644 --- a/src/kerberos_client.cc +++ b/src/kerberos_client.cc @@ -93,11 +93,12 @@ class ClientStepWorker : public Nan::AsyncWorker { private: virtual void HandleOKCallback() { Nan::HandleScope scope; - v8::Local argv[] = { - Nan::Null(), - Nan::New(_client->_state->response).ToLocalChecked() - }; + v8::Local response = Nan::Null(); + if (_client->_state->response != NULL) { + response = Nan::New(_client->_state->response).ToLocalChecked(); + } + v8::Local argv[] = { Nan::Null(), response }; callback->Call(2, argv, async_resource); } diff --git a/src/kerberos_server.cc b/src/kerberos_server.cc index 1f158540..4eafc7f3 100644 --- a/src/kerberos_server.cc +++ b/src/kerberos_server.cc @@ -93,11 +93,12 @@ class ServerStepWorker : public Nan::AsyncWorker { private: virtual void HandleOKCallback() { Nan::HandleScope scope; - v8::Local argv[] = { - Nan::Null(), - Nan::New(_server->_state->response).ToLocalChecked() - }; + v8::Local response = Nan::Null(); + if (_server->_state->response != NULL) { + response = Nan::New(_server->_state->response).ToLocalChecked(); + } + v8::Local argv[] = { Nan::Null(), response }; callback->Call(2, argv, async_resource); }