aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/lib/surface
diff options
context:
space:
mode:
authorGravatar Craig Tiller <ctiller@google.com>2016-11-23 11:36:21 -0800
committerGravatar Craig Tiller <ctiller@google.com>2016-11-23 11:36:21 -0800
commitcf0a2024faa29bd6f89b7bedd0571be735174f18 (patch)
tree107c6a9377f20de1fca59a55ef9618bae103964f /src/core/lib/surface
parentde7b4676e936ed9b71e99bd0edaaf025593b2c3a (diff)
Fix slice refcounting
Diffstat (limited to 'src/core/lib/surface')
-rw-r--r--src/core/lib/surface/call.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/core/lib/surface/call.c b/src/core/lib/surface/call.c
index 7a7c19ad8b..96cf706778 100644
--- a/src/core/lib/surface/call.c
+++ b/src/core/lib/surface/call.c
@@ -895,8 +895,9 @@ static void publish_app_metadata(grpc_call *call, grpc_metadata_batch *b,
}
for (grpc_linked_mdelem *l = b->list.head; l != NULL; l = l->next) {
mdusr = &dest->metadata[dest->count++];
- mdusr->key = grpc_slice_ref(GRPC_MDKEY(l->md));
- mdusr->value = grpc_slice_ref(GRPC_MDVALUE(l->md));
+ /* we pass back borrowed slices that are valid whilst the call is valid */
+ mdusr->key = GRPC_MDKEY(l->md);
+ mdusr->value = GRPC_MDVALUE(l->md);
}
GPR_TIMER_END("publish_app_metadata", 0);
}