diff options
author | Craig Tiller <ctiller@google.com> | 2016-11-23 11:36:21 -0800 |
---|---|---|
committer | Craig Tiller <ctiller@google.com> | 2016-11-23 11:36:21 -0800 |
commit | cf0a2024faa29bd6f89b7bedd0571be735174f18 (patch) | |
tree | 107c6a9377f20de1fca59a55ef9618bae103964f /src/core/lib/surface | |
parent | de7b4676e936ed9b71e99bd0edaaf025593b2c3a (diff) |
Fix slice refcounting
Diffstat (limited to 'src/core/lib/surface')
-rw-r--r-- | src/core/lib/surface/call.c | 5 |
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); } |