Corresponding Coverity finding:
** CID 382778: Resource leaks (RESOURCE_LEAK)
/home/lasgoutt/src/lyx/coverity/lyx/src/insets/InsetIndex.cpp: 1909 in _ZNK3lyx15InsetPrintIndex5xhtmlB5cxx11ERNS_9XMLStreamERKNS_12OutputParamsE()
________________________________________________________________________________________________________
*** CID 382778: Resource leaks (RESOURCE_LEAK)
/home/lasgoutt/src/lyx/coverity/lyx/src/insets/InsetIndex.cpp: 1909 in _ZNK3lyx15InsetPrintIndex5xhtmlB5cxx11ERNS_9XMLStreamERKNS_12OutputParamsE()
1903 }
1904
1905 xs << xml::EndTag("ul");
1906 xs << xml::CR();
1907 xs << xml::EndTag("div");
1908
>>> CID 382778: Resource leaks (RESOURCE_LEAK)
>>> Variable "index_root" going out of scope leaks the storage it points to.
1909 return ods.str();
1910 }
1911
struct IndexNode {
std::vector<IndexEntry> entries;
std::vector<IndexNode*> children;
+
+ ~IndexNode() {
+ for (IndexNode * child : children) {
+ if (!child)
+ continue;
+ delete child;
+ }
+ }
};
docstring termAtLevel(const IndexNode* node, unsigned depth)
for (const IndexNode* node : index_root->children) {
outputIndexPage(xs, node);
}
+ delete index_root;
xs << xml::EndTag("ul");
xs << xml::CR();