Skip to content

Commit ff42f15

Browse files
lamb-jvangthao95
andauthored
[Comgr] Fix memory leak in name expression API
Co-authored-by: Thao, Vang <[email protected]>
1 parent b41b736 commit ff42f15

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

amd/comgr/src/comgr.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2037,6 +2037,8 @@ amd_comgr_populate_name_expression_map(amd_comgr_data_t Data, size_t *Count) {
20372037
if (!RelaRangeOrError) {
20382038
llvm::logAllUnhandledErrors(RelaRangeOrError.takeError(), llvm::errs(),
20392039
"RelaRange creation error: ");
2040+
for (auto *Ptr : NameExpDataVec)
2041+
delete Ptr;
20402042
return AMD_COMGR_STATUS_ERROR;
20412043
}
20422044
auto RelaRange = std::move(RelaRangeOrError.get());
@@ -2057,6 +2059,8 @@ amd_comgr_populate_name_expression_map(amd_comgr_data_t Data, size_t *Count) {
20572059
if (!RodataOrError) {
20582060
llvm::logAllUnhandledErrors(RodataOrError.takeError(), llvm::errs(),
20592061
"Rodata creation error: ");
2062+
for (auto *Ptr : NameExpDataVec)
2063+
delete Ptr;
20602064
return AMD_COMGR_STATUS_ERROR;
20612065
}
20622066
auto Rodata = std::move(RodataOrError.get());
@@ -2087,6 +2091,8 @@ amd_comgr_populate_name_expression_map(amd_comgr_data_t Data, size_t *Count) {
20872091
}
20882092
}
20892093

2094+
for (auto *Ptr : NameExpDataVec)
2095+
delete Ptr;
20902096
} // end AMD_COMGR_DATA_KIND_EXECUTABLE conditional
20912097

20922098
*Count = DataP->NameExpressionMap.size();

0 commit comments

Comments
 (0)