aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/node/ext
diff options
context:
space:
mode:
authorGravatar murgatroid99 <mlumish@google.com>2017-07-31 13:15:19 -0700
committerGravatar murgatroid99 <mlumish@google.com>2017-07-31 13:15:19 -0700
commit23b74dcced648421d17b7a84faaa0101c82c3e81 (patch)
tree9314b81a0c4e8370d8933bb26ccf915f92f63842 /src/node/ext
parentaaf623ac66869f4bdcc4d9c3dcd859035df89dd9 (diff)
Node: fix segfault with incorrect status argument types
Diffstat (limited to 'src/node/ext')
-rw-r--r--src/node/ext/call.cc10
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);