kuldeep gupta created THRIFT-2017:
-------------------------------------
Summary: Resource Leak in thrift struct under
compiler/cpp/src/parse/t_program.h
Key: THRIFT-2017
URL: https://issues.apache.org/jira/browse/THRIFT-2017
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_program.h
class t_program : public t_doc {
59 public:
60 t_program(std::string path, std::string name) :
61 path_(path),
62 name_(name),
63 out_path_("./"),
64 out_path_is_absolute_(false) {
65 scope_ = new t_scope();
66 }
67
68 t_program(std::string path) :
69 path_(path),
70 out_path_("./"),
71 out_path_is_absolute_(false) {
72 name_ = program_name(path);
73 scope_ = new t_scope();
74 }
In Above code at line number 65 and 73 Resource leaks happens as
1. Allocating memory by calling "new t_scope".
2. Assigning: "this->scope_" = "new t_scope".
3. The constructor allocates field "scope_" of "t_program" but there is no
destructor in the code.
destructor should deallocate memroy for t_scope.
which sometimes causes Resource Leak.
Possible patch:
There should be destructor to release the resources allocated dynamically.
~t_program() {
delete scope_; scope_ = 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