kuldeep gupta created THRIFT-2016: ------------------------------------- Summary: Resource Leak in thrift struct under compiler/cpp/src/parse/t_function.h Key: THRIFT-2016 URL: https://issues.apache.org/jira/browse/THRIFT-2016 Project: Thrift Issue Type: Bug Components: C++ - Compiler Affects Versions: 0.9 Environment: cpp compiler of thrift 0.9.0 on Linux 2.6.32-220.el6.x86_64 Reporter: kuldeep gupta
In file compiler/cpp/src/parse/t_function.h class t_function : public t_doc { 35 public: 36 t_function(t_type* returntype, 37 std::string name, 38 t_struct* arglist, 39 bool oneway=false) : 40 returntype_(returntype), 41 name_(name), 42 arglist_(arglist), 43 oneway_(oneway) { 44 xceptions_ = new t_struct(NULL); In Line number 44 1. Allocating memory by calling "new t_struct(NULL)". 2. Assigning "this->xceptions_" = "new t_struct(NULL)". 3. The constructor allocates field "xceptions_" of "t_function" but the destructor and whatever functions it calls do not free it. 45 } This is the destructor implementation. 63 ~t_function() {} destructor should deallocate memroy for xceptions_. but destructor implementation does not do resource deallocation. which sometimes causes Resource Leak. Possible patch: ~t_function() { delete xceptions_; xceptions_ = NULL; } -- 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