Skip to content

Commit 664778b

Browse files
lamb-jvangthao95
authored andcommitted
[Comgr] Fix memory leak in name expression API
Co-authored-by: Thao, Vang <[email protected]>
1 parent 708c4a5 commit 664778b

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
@@ -2142,6 +2142,8 @@ amd_comgr_populate_name_expression_map(amd_comgr_data_t Data, size_t *Count) {
21422142
if (!RelaRangeOrError) {
21432143
llvm::logAllUnhandledErrors(RelaRangeOrError.takeError(), llvm::errs(),
21442144
"RelaRange creation error: ");
2145+
for (auto *Ptr : NameExpDataVec)
2146+
delete Ptr;
21452147
return AMD_COMGR_STATUS_ERROR;
21462148
}
21472149
auto RelaRange = std::move(RelaRangeOrError.get());
@@ -2162,6 +2164,8 @@ amd_comgr_populate_name_expression_map(amd_comgr_data_t Data, size_t *Count) {
21622164
if (!RodataOrError) {
21632165
llvm::logAllUnhandledErrors(RodataOrError.takeError(), llvm::errs(),
21642166
"Rodata creation error: ");
2167+
for (auto *Ptr : NameExpDataVec)
2168+
delete Ptr;
21652169
return AMD_COMGR_STATUS_ERROR;
21662170
}
21672171
auto Rodata = std::move(RodataOrError.get());
@@ -2192,6 +2196,8 @@ amd_comgr_populate_name_expression_map(amd_comgr_data_t Data, size_t *Count) {
21922196
}
21932197
}
21942198

2199+
for (auto *Ptr : NameExpDataVec)
2200+
delete Ptr;
21952201
} // end AMD_COMGR_DATA_KIND_EXECUTABLE conditional
21962202

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

0 commit comments

Comments
 (0)