THRIFT-2490 c_glib: if fail to read a exception from server, client may be occurred double free
Client: c_glib
Patch: Jaesang Kim
diff --git a/compiler/cpp/src/generate/t_c_glib_generator.cc b/compiler/cpp/src/generate/t_c_glib_generator.cc
index 9e3ac3c..5195224 100644
--- a/compiler/cpp/src/generate/t_c_glib_generator.cc
+++ b/compiler/cpp/src/generate/t_c_glib_generator.cc
@@ -2662,6 +2662,9 @@
indent_up();
if (allocate) {
indent(out) << "g_object_unref (" << prefix << ");" << endl;
+ if (tstruct->is_xception()) {
+ indent(out) << prefix << " = NULL;" << endl;
+ }
}
out <<
indent() << "return " << error_ret << ";" << endl;