aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/core/channel
diff options
context:
space:
mode:
authorGravatar Craig Tiller <ctiller@google.com>2015-02-18 14:16:15 -0800
committerGravatar Craig Tiller <ctiller@google.com>2015-02-18 14:16:15 -0800
commit9be83eec1de2932946d61b774788ca18fb41e2fe (patch)
treef8672252e92ceff39ee7eccc571c31a33cf548eb /test/core/channel
parentefad8fadd36899ff98ff616c349d181f2f1e4004 (diff)
Fix use-after-free.
Transport and channel have different lifetimes, but share a metadata context. Make the metadata context ref counted, and have transport take a ref.
Diffstat (limited to 'test/core/channel')
-rw-r--r--test/core/channel/channel_stack_test.c2
-rw-r--r--test/core/channel/metadata_buffer_test.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/test/core/channel/channel_stack_test.c b/test/core/channel/channel_stack_test.c
index 0345f99bde..59a4564220 100644
--- a/test/core/channel/channel_stack_test.c
+++ b/test/core/channel/channel_stack_test.c
@@ -128,7 +128,7 @@ static void test_create_channel_stack(void) {
grpc_channel_stack_destroy(channel_stack);
gpr_free(channel_stack);
- grpc_mdctx_orphan(metadata_context);
+ grpc_mdctx_unref(metadata_context);
}
int main(int argc, char **argv) {
diff --git a/test/core/channel/metadata_buffer_test.c b/test/core/channel/metadata_buffer_test.c
index 22776f8ca1..ba8100b7d2 100644
--- a/test/core/channel/metadata_buffer_test.c
+++ b/test/core/channel/metadata_buffer_test.c
@@ -182,7 +182,7 @@ static void test_case(size_t key_prefix_len, size_t value_prefix_len,
gpr_free(stk);
grpc_metadata_buffer_destroy(&buffer, GRPC_OP_OK);
- grpc_mdctx_orphan(mdctx);
+ grpc_mdctx_unref(mdctx);
}
int main(int argc, char **argv) {