aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/lib/surface/call.c
diff options
context:
space:
mode:
authorGravatar Craig Tiller <ctiller@google.com>2016-05-10 13:06:15 -0700
committerGravatar Craig Tiller <ctiller@google.com>2016-05-10 13:06:15 -0700
commit10dd6f299d904ff4a2cc2a9a4048d3d71f7f0877 (patch)
treef6861d4b311697d71584dbdd6f259151f79aa998 /src/core/lib/surface/call.c
parentfc353d624944dcceeb67dd27e4fc48e747b17988 (diff)
Fix refcounting bugs
Diffstat (limited to 'src/core/lib/surface/call.c')
-rw-r--r--src/core/lib/surface/call.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/core/lib/surface/call.c b/src/core/lib/surface/call.c
index 1ad635710a..2dea2147ce 100644
--- a/src/core/lib/surface/call.c
+++ b/src/core/lib/surface/call.c
@@ -1172,11 +1172,14 @@ static void finish_batch(grpc_exec_ctx *exec_ctx, void *bctlp,
GRPC_ERROR_UNREF(error);
error = GRPC_ERROR_NONE;
}
+ GRPC_ERROR_UNREF(bctl->error);
bctl->error = error;
gpr_mu_unlock(&call->mu);
if (gpr_unref(&bctl->steps_to_complete)) {
post_batch_completion(exec_ctx, bctl);
}
+
+ GRPC_ERROR_UNREF(error);
}
static grpc_call_error call_start_batch(grpc_exec_ctx *exec_ctx,