From 5fe7e5d81cd5a4f24791239cba54c331dd0096b0 Mon Sep 17 00:00:00 2001 From: Craig Tiller <ctiller@google.com> Date: Fri, 1 May 2015 10:52:35 -0700 Subject: [PATCH] Fix some memory leaks --- test/core/end2end/no_server_test.c | 4 ++++ test/core/end2end/tests/invoke_large_request.c | 2 ++ test/core/end2end/tests/max_concurrent_streams.c | 9 +++++++++ test/core/end2end/tests/ping_pong_streaming.c | 6 ++++++ test/core/surface/lame_client_test.c | 4 ++++ 5 files changed, 25 insertions(+) diff --git a/test/core/end2end/no_server_test.c b/test/core/end2end/no_server_test.c index f080feff38..b292620fe9 100644 --- a/test/core/end2end/no_server_test.c +++ b/test/core/end2end/no_server_test.c @@ -32,6 +32,7 @@ */ #include <grpc/grpc.h> +#include <grpc/support/alloc.h> #include <grpc/support/log.h> #include "test/core/end2end/cq_verifier.h" #include "test/core/util/test_config.h" @@ -94,6 +95,9 @@ int main(int argc, char **argv) { grpc_channel_destroy(chan); cq_verifier_destroy(cqv); + gpr_free(details); + grpc_metadata_array_destroy(&trailing_metadata_recv); + grpc_shutdown(); return 0; diff --git a/test/core/end2end/tests/invoke_large_request.c b/test/core/end2end/tests/invoke_large_request.c index 5932c57260..d9d9e934cb 100644 --- a/test/core/end2end/tests/invoke_large_request.c +++ b/test/core/end2end/tests/invoke_large_request.c @@ -220,6 +220,8 @@ static void test_invoke_large_request(grpc_end2end_test_config config) { grpc_byte_buffer_destroy(response_payload); grpc_byte_buffer_destroy(request_payload_recv); grpc_byte_buffer_destroy(response_payload_recv); + gpr_slice_unref(request_payload_slice); + gpr_slice_unref(response_payload_slice); end_test(&f); config.tear_down_data(&f); diff --git a/test/core/end2end/tests/max_concurrent_streams.c b/test/core/end2end/tests/max_concurrent_streams.c index 7fe36a8cfa..6e95a6c5f8 100644 --- a/test/core/end2end/tests/max_concurrent_streams.c +++ b/test/core/end2end/tests/max_concurrent_streams.c @@ -378,6 +378,15 @@ static void test_max_concurrent_streams(grpc_end2end_test_config config) { grpc_call_destroy(c2); grpc_call_destroy(s2); + gpr_free(details1); + gpr_free(details2); + grpc_metadata_array_destroy(&initial_metadata_recv1); + grpc_metadata_array_destroy(&trailing_metadata_recv1); + grpc_metadata_array_destroy(&initial_metadata_recv2); + grpc_metadata_array_destroy(&trailing_metadata_recv2); + grpc_metadata_array_destroy(&request_metadata_recv); + grpc_call_details_destroy(&call_details); + end_test(&f); config.tear_down_data(&f); } diff --git a/test/core/end2end/tests/ping_pong_streaming.c b/test/core/end2end/tests/ping_pong_streaming.c index a40e9ec168..fe02f25875 100644 --- a/test/core/end2end/tests/ping_pong_streaming.c +++ b/test/core/end2end/tests/ping_pong_streaming.c @@ -239,6 +239,12 @@ static void test_pingpong_streaming(grpc_end2end_test_config config, cq_verifier_destroy(v_client); cq_verifier_destroy(v_server); + grpc_metadata_array_destroy(&initial_metadata_recv); + grpc_metadata_array_destroy(&trailing_metadata_recv); + grpc_metadata_array_destroy(&request_metadata_recv); + grpc_call_details_destroy(&call_details); + gpr_free(details); + end_test(&f); config.tear_down_data(&f); } diff --git a/test/core/surface/lame_client_test.c b/test/core/surface/lame_client_test.c index a0dda9bd59..05e8f95d71 100644 --- a/test/core/surface/lame_client_test.c +++ b/test/core/surface/lame_client_test.c @@ -35,6 +35,7 @@ #include "test/core/end2end/cq_verifier.h" #include "test/core/util/test_config.h" +#include <grpc/support/alloc.h> #include <grpc/support/log.h> static void *tag(gpr_intptr x) { return (void *)x; } @@ -86,6 +87,9 @@ int main(int argc, char **argv) { cq_verifier_destroy(cqv); grpc_completion_queue_destroy(cq); + grpc_metadata_array_destroy(&trailing_metadata_recv); + gpr_free(details); + grpc_shutdown(); return 0; -- GitLab