diff options
author | wangyunjian <wangyunjian@huawei.com> | 2020-02-27 00:02:19 +0800 |
---|---|---|
committer | Jens Geyer <jensg@apache.org> | 2020-07-01 23:18:03 +0200 |
commit | 761a869e0508d2cf7975b040a6da54ae62a889b6 (patch) | |
tree | e8f64a8a77b45b45434bb733210d648315f82533 | |
parent | 6c5f5c8a94b9f8b697d5bd51f9a4fcb70e96c248 (diff) | |
download | thrift-761a869e0508d2cf7975b040a6da54ae62a889b6.tar.gz |
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>
-rw-r--r-- | compiler/cpp/src/thrift/generate/t_c_glib_generator.cc | 1 |
1 files changed, 1 insertions, 0 deletions
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 fb45dfa6e..2a92183eb 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 @@ void t_c_glib_generator::generate_service_processor(t_service* tservice) { 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; |