THRIFT-5144: Fix memory leak when generate deserialize list element
Client: c_glib
Patch: wangyunjian
This closes #2064
Signed-off-by: wangyunjian <wangyunjian@huawei.com>
diff --git a/compiler/cpp/src/thrift/generate/t_c_glib_generator.cc b/compiler/cpp/src/thrift/generate/t_c_glib_generator.cc
index 098cdb4..fb45dfa 100644
--- a/compiler/cpp/src/thrift/generate/t_c_glib_generator.cc
+++ b/compiler/cpp/src/thrift/generate/t_c_glib_generator.cc
@@ -4332,6 +4332,7 @@
throw std::runtime_error("compiler error: list element type cannot be void");
} else if (is_numeric(ttype)) {
indent(out) << "g_array_append_vals (" << prefix << ", " << elem << ", 1);" << endl;
+ indent(out) << "g_free (" << elem << ");" << endl;
} else {
indent(out) << "g_ptr_array_add (" << prefix << ", " << elem << ");" << endl;
}