Skip to content

Commit 961735a

Browse files
ferdymercurydpiparo
authored andcommitted
[io] fix memleak in extra loopConfig copy
was being done twice, once inside ActionSequence template function, and once outside by the caller. Fixes #18455 (cherry picked from commit d98a1c3)
1 parent ae63247 commit 961735a

File tree

1 file changed

+2
-4
lines changed

1 file changed

+2
-4
lines changed

io/io/src/TStreamerInfoActions.cxx

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3712,8 +3712,7 @@ GetCollectionReadAction(TVirtualStreamerInfo *info, TLoopConfiguration *loopConf
37123712
if (baseEl) {
37133713
auto baseinfo = (TStreamerInfo *)baseEl->GetBaseStreamerInfo();
37143714
assert(baseinfo);
3715-
TLoopConfiguration *baseLoopConfig = loopConfig ? loopConfig->Copy() : nullptr;
3716-
auto baseActions = Looper::CreateReadActionSequence(*baseinfo, baseLoopConfig);
3715+
auto baseActions = Looper::CreateReadActionSequence(*baseinfo, loopConfig);
37173716
baseActions->AddToOffset(baseEl->GetOffset());
37183717
return TConfiguredAction( Looper::SubSequenceAction, new TConfSubSequence(info, i, compinfo, 0, std::move(baseActions)));
37193718

@@ -4032,8 +4031,7 @@ GetCollectionWriteAction(TVirtualStreamerInfo *info, TLoopConfiguration *loopCon
40324031
if (baseEl) {
40334032
auto baseinfo = (TStreamerInfo *)baseEl->GetBaseStreamerInfo();
40344033
assert(baseinfo);
4035-
TLoopConfiguration *baseLoopConfig = loopConfig ? loopConfig->Copy() : nullptr;
4036-
auto baseActions = Looper::CreateWriteActionSequence(*baseinfo, baseLoopConfig);
4034+
auto baseActions = Looper::CreateWriteActionSequence(*baseinfo, loopConfig);
40374035
baseActions->AddToOffset(baseEl->GetOffset());
40384036
return TConfiguredAction( Looper::SubSequenceAction, new TConfSubSequence(info, i, compinfo, 0, std::move(baseActions)));
40394037

0 commit comments

Comments
 (0)