CResource: Make BuildDependencyTree() return a unique_ptr

Makes the functions more memory safe in terms of freeing memory in
exceptional paths .
This commit is contained in:
Lioncash
2020-06-11 18:25:35 -04:00
parent eb8ca98a8a
commit ce315280c3
24 changed files with 82 additions and 93 deletions

View File

@@ -43,9 +43,9 @@ CBoolRef CScan::IsCriticalPropertyRef() const
}
/** CResource interface */
CDependencyTree* CScan::BuildDependencyTree() const
std::unique_ptr<CDependencyTree> CScan::BuildDependencyTree() const
{
CDependencyTree* pTree = new CDependencyTree();
auto pTree = std::make_unique<CDependencyTree>();
pTree->ParseProperties(Entry(), ScanData().Property(), ScanData().DataPointer());
return pTree;
}

View File

@@ -28,7 +28,7 @@ public:
CBoolRef IsCriticalPropertyRef() const;
/** CResource interface */
CDependencyTree* BuildDependencyTree() const override;
std::unique_ptr<CDependencyTree> BuildDependencyTree() const override;
};
#endif // CSCAN_H