From 41703589dc200c475765300e10dd5e8995234776 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Fri, 15 Apr 2016 13:27:40 -0700 Subject: [PATCH] Fix leaks --- test/core/end2end/fuzzers/api_fuzzer.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/test/core/end2end/fuzzers/api_fuzzer.c b/test/core/end2end/fuzzers/api_fuzzer.c index e5b81e358be..8e1d4195f16 100644 --- a/test/core/end2end/fuzzers/api_fuzzer.c +++ b/test/core/end2end/fuzzers/api_fuzzer.c @@ -652,12 +652,20 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { op = &ops[i]; switch (op->op) { case GRPC_OP_SEND_INITIAL_METADATA: + for (size_t j = 0; j < op->data.send_initial_metadata.count; j++) { + gpr_free((void*)op->data.send_initial_metadata.metadata[j].key); + gpr_free((void*)op->data.send_initial_metadata.metadata[j].value); + } gpr_free(op->data.send_initial_metadata.metadata); break; case GRPC_OP_SEND_MESSAGE: grpc_byte_buffer_destroy(op->data.send_message); break; case GRPC_OP_SEND_STATUS_FROM_SERVER: + for (size_t j = 0; j < op->data.send_status_from_server.trailing_metadata_count; j++) { + gpr_free((void*)op->data.send_status_from_server.trailing_metadata[j].key); + gpr_free((void*)op->data.send_status_from_server.trailing_metadata[j].value); + } gpr_free(op->data.send_status_from_server.trailing_metadata); gpr_free((void*)op->data.send_status_from_server.status_details); break;