Satheesh Velmurugan created THRIFT-1831: -------------------------------------------
Summary: Bug in list deserializer Key: THRIFT-1831 URL: https://issues.apache.org/jira/browse/THRIFT-1831 Project: Thrift Issue Type: Bug Components: C glib - Compiler Affects Versions: 0.9 Environment: Linux x86, glib 2.34 (latest) Reporter: Satheesh Velmurugan The function generate_deserialize_list_element() has a functional bug. It uses the following code to append a new element while deserializing. out << "g_array_append_val (" << prefix << ", " << elem << ");" << endl g_array_append_val() is a macro is glib which expects an array element, whereas "elem" in generate_deserialize_list_element() is a pointer to the array element. Deserialization doesn't work because of it. I don't think this part of the code was ever tested. I don't see any test or example code in c_glib which use lists. One way to fix this is to use the glib API g_array_append_vals() instead. (BTW, g_array_append_val() is a wrapper macro which uses g_array_append_vals() internally). I'll attach the patch. It's been tested already. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira