From cf0edd365909ae3cc1b6afb12ed69ff6c4e8a147 Mon Sep 17 00:00:00 2001 From: Roger Meier Date: Sun, 4 May 2014 21:52:36 +0200 Subject: [PATCH] THRIFT-2490 c_glib: if fail to read a exception from server, client may be occurred double free Client: c_glib Patch: Jaesang Kim --- compiler/cpp/src/generate/t_c_glib_generator.cc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/compiler/cpp/src/generate/t_c_glib_generator.cc b/compiler/cpp/src/generate/t_c_glib_generator.cc index 9e3ac3c3..51952248 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 @@ void t_c_glib_generator::generate_deserialize_struct(ofstream &out, 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; -- 2.17.1