I have been seeing some memory leaks using valgring in my testprogram.
==94320== 17,878 bytes in 2,712 blocks are definitely lost in loss record 987 of 1,018
==94320== at 0x4A057BB: calloc (vg_replace_malloc.c:593)
==94320== by 0x3D7DA49BF7: g_malloc0 (gmem.c:196)
==94320== by 0x5768002: thrift_binary_protocol_read_string (thrift_binary_protocol.c:791)
==94320== by 0x5768987: thrift_binary_protocol_read_message_begin (thrift_binary_protocol.c:431)
==94320== by 0x576702E: thrift_dispatch_processor_process (thrift_dispatch_processor.c:41)
==94320== by 0x576CC06: thrift_simple_server_serve (thrift_simple_server.c:62)
==94320== by 0x45A548: server_start (server.c:135)
==94320== by 0x3D7C607A50: start_thread (pthread_create.c:301)
==94320== by 0x3D7C2E893C: clone (clone.S:115)
My question is where is the *str memory allocated by function thrift_binary_protocol_read_string() freed? Am I doing something wrong or is there an actual memory leak?