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