aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/surface/server.c
diff options
context:
space:
mode:
authorGravatar Craig Tiller <craig.tiller@gmail.com>2015-01-29 10:25:33 -0800
committerGravatar Craig Tiller <craig.tiller@gmail.com>2015-01-29 10:25:33 -0800
commitdddbf69d8f07d5ab7a4ddf7d2fdf5e91c031cb61 (patch)
treed7d0d85247bda27904f8fd75bdf4bf883a369dae /src/core/surface/server.c
parentf26370d610af794579f1c2d13166bb74c36d6cc5 (diff)
Fix refcount leak on server rpc_new
Diffstat (limited to 'src/core/surface/server.c')
-rw-r--r--src/core/surface/server.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/core/surface/server.c b/src/core/surface/server.c
index fe03369ccc..8d31870e27 100644
--- a/src/core/surface/server.c
+++ b/src/core/surface/server.c
@@ -712,11 +712,14 @@ static void publish_legacy_request(grpc_call *call, grpc_op_error status,
grpc_server *server = chand->server;
if (status == GRPC_OP_OK) {
+ grpc_call_internal_ref(call, "rpc_new");
grpc_cq_end_new_rpc(server->cq, tag, call, do_nothing, NULL,
grpc_mdstr_as_c_string(calld->path),
grpc_mdstr_as_c_string(calld->host), calld->deadline,
calld->legacy->client_metadata.count,
calld->legacy->client_metadata.metadata);
+ } else {
+ abort();
}
}