XCSP3-CPP-Parser
XCSP3-CPP-Parser copied to clipboard
Deallocation commented
Playing with valgrind, I've found that, in class XMLParser
, there are pointers to allocated memory: in toFree
, in toFreeEntity
, in allDomains
and in variablesList
.
Seems that the memory managed is never deallocated but I found a method, XMLParser::InstanceTagAction::endTag()
(src/XMLParserTags.cc), where this deallocation is present but commented
void XMLParser::InstanceTagAction::endTag() {
this->parser->manager->endInstance();
/*for(XEntity *xe : this->parser->toFree)
delete xe;
for(XIntegerEntity *xe : this->parser->toFreeEntity)
delete xe;
this->parser->toFree.clear();
for(XDomainInteger *xdomain :this->parser->allDomains) {
delete xdomain;
}
for(std::map<string, XEntity *>::iterator it = this->parser->variablesList.begin(); it != this->parser->variablesList.end(); ++it) {
delete it->second;
}*/
}
Was in the wrong place? Maybe should be in the XMLParser
destructor?
Anyway, this memory should be deallocated.