THRIFT-5118: Fix memory leak when the handler method return a exception
Client: c_glib
Patch: wangyunjian
This closes #2035
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 fb45dfa..2a92183 100644
--- a/compiler/cpp/src/thrift/generate/t_c_glib_generator.cc
+++ b/compiler/cpp/src/thrift/generate/t_c_glib_generator.cc
@@ -2445,6 +2445,7 @@
f_service_ << args_indent << "\"" << (*xception_iter)->get_name() << "\", "
<< (*xception_iter)->get_name() << "," << endl << args_indent << "NULL);" << endl
<< endl;
+ f_service_ << indent() << "g_object_unref ("<< (*xception_iter)->get_name() <<");"<< endl;
f_service_ << indent() << "result =" << endl;
indent_up();
f_service_ << indent() << "((thrift_protocol_write_message_begin (output_protocol," << endl;