diff options
author | murgatroid99 <mlumish@google.com> | 2017-07-31 13:15:19 -0700 |
---|---|---|
committer | murgatroid99 <mlumish@google.com> | 2017-07-31 13:15:19 -0700 |
commit | 23b74dcced648421d17b7a84faaa0101c82c3e81 (patch) | |
tree | 9314b81a0c4e8370d8933bb26ccf915f92f63842 /src/node/ext | |
parent | aaf623ac66869f4bdcc4d9c3dcd859035df89dd9 (diff) |
Node: fix segfault with incorrect status argument types
Diffstat (limited to 'src/node/ext')
-rw-r--r-- | src/node/ext/call.cc | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/node/ext/call.cc b/src/node/ext/call.cc index 71e6904008..26095a78f9 100644 --- a/src/node/ext/call.cc +++ b/src/node/ext/call.cc @@ -260,7 +260,10 @@ class SendClientCloseOp : public Op { class SendServerStatusOp : public Op { public: - SendServerStatusOp() { grpc_metadata_array_init(&status_metadata); } + SendServerStatusOp() { + details = grpc_empty_slice(); + grpc_metadata_array_init(&status_metadata); + } ~SendServerStatusOp() { grpc_slice_unref(details); DestroyMetadataArray(&status_metadata); @@ -381,7 +384,10 @@ class ReadMessageOp : public Op { class ClientStatusOp : public Op { public: - ClientStatusOp() { grpc_metadata_array_init(&metadata_array); } + ClientStatusOp() { + grpc_metadata_array_init(&metadata_array); + status_details = grpc_empty_slice(); + } ~ClientStatusOp() { grpc_metadata_array_destroy(&metadata_array); |