Skip to content

Commit 9a74545

Browse files
denniskleinChristianTackeGSI
authored andcommitted
fix(base): Handle nullptr args in FairRun::SetSink()
1 parent 42cc628 commit 9a74545

2 files changed

Lines changed: 6 additions & 9 deletions

File tree

fairroot/base/steer/FairRun.cxx

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -191,14 +191,11 @@ void FairRun::SetSink(std::unique_ptr<FairSink> newsink)
191191
{
192192
fSink = std::move(newsink);
193193
fRootManager->fSink = maybe_owning_ptr<FairSink>{fSink.get(), non_owning};
194-
fUserOutputFileName = fSink->GetFileName();
195-
}
196-
197-
void FairRun::SetSink(FairSink* tempSink)
198-
{
199-
fSink.reset(tempSink);
200-
fRootManager->fSink = maybe_owning_ptr<FairSink>{fSink.get(), non_owning};
201-
fUserOutputFileName = fSink->GetFileName();
194+
if (fSink) {
195+
fUserOutputFileName = fSink->GetFileName();
196+
} else {
197+
fUserOutputFileName.Clear();
198+
}
202199
}
203200

204201
void FairRun::SetOutputFile(const char* fname)

fairroot/base/steer/FairRun.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ class FairRun : public TNamed
8787
* Set the sink
8888
*/
8989
void SetSink(std::unique_ptr<FairSink> newsink);
90-
void SetSink(FairSink* tempSink);
90+
void SetSink(FairSink* newsink) { SetSink(std::unique_ptr<FairSink>{newsink}); }
9191
/**
9292
* return a non-owning pointer to the sink
9393
*/

0 commit comments

Comments
 (0)