From b6c3d7b8994ee1bcb389f0deb890cfa97c8f5ba7 Mon Sep 17 00:00:00 2001 From: Sumant Tambe Date: Fri, 2 Nov 2018 10:04:58 -0700 Subject: [PATCH] Fix a memory leak in builder test (#5021) * Fix a memory leak in builder test * using RAII to free memory --- tests/test_builder.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tests/test_builder.h b/tests/test_builder.h index 1ea17b495..fe8bea914 100644 --- a/tests/test_builder.h +++ b/tests/test_builder.h @@ -46,12 +46,16 @@ bool release_n_verify(flatbuffers::grpc::MessageBuilder &mbb, const std::string // clang-format off #if !defined(FLATBUFFERS_CPP98_STL) // clang-format on +// Invokes this function when testing the following Builder types +// FlatBufferBuilder, TestHeapBuilder, and GrpcLikeMessageBuilder template void builder_move_assign_after_releaseraw_test(Builder b1) { auto root_offset1 = populate1(b1); b1.Finish(root_offset1); size_t size, offset; - b1.ReleaseRaw(size, offset); + std::shared_ptr raw(b1.ReleaseRaw(size, offset), [size](uint8_t *ptr) { + flatbuffers::DefaultAllocator::dealloc(ptr, size); + }); Builder src; auto root_offset2 = populate2(src); src.Finish(root_offset2);