aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/ext/filters/message_size
diff options
context:
space:
mode:
authorGravatar kpayson64 <kpayson@google.com>2018-06-22 13:00:07 -0700
committerGravatar kpayson64 <kpayson@google.com>2018-06-22 13:00:07 -0700
commit96c0a266a0a5f83a2bdd9678dbd05620f6380a91 (patch)
treef905977e2bcc97476b669c258bc0f17079956bb5 /src/core/ext/filters/message_size
parentdd0995d0159169d23f92eaf1df228033c337866c (diff)
Changes
Diffstat (limited to 'src/core/ext/filters/message_size')
-rw-r--r--src/core/ext/filters/message_size/message_size_filter.cc5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/core/ext/filters/message_size/message_size_filter.cc b/src/core/ext/filters/message_size/message_size_filter.cc
index f3081df38d..deb5ae70ec 100644
--- a/src/core/ext/filters/message_size/message_size_filter.cc
+++ b/src/core/ext/filters/message_size/message_size_filter.cc
@@ -140,7 +140,6 @@ static void recv_message_ready(void* user_data, grpc_error* error) {
error = new_error;
} else {
error = grpc_error_add_child(error, new_error);
- GRPC_ERROR_UNREF(new_error);
}
calld->error = GRPC_ERROR_REF(error);
gpr_free(message_string);
@@ -159,8 +158,10 @@ static void recv_trailing_metadata_ready(void* user_data, grpc_error* error) {
if (calld->error != GRPC_ERROR_NONE) {
if (error == GRPC_ERROR_NONE) {
error = GRPC_ERROR_REF(calld->error);
+ } else if (error != calld->error) {
+ error = grpc_error_add_child(error, GRPC_ERROR_REF(calld->error));
} else {
- error = grpc_error_add_child(error, calld->error);
+ error = GRPC_ERROR_REF(error);
}
} else {
error = GRPC_ERROR_REF(error);