From 8e585ba274cd74e4e08dcce0d9c928bfd44945ae Mon Sep 17 00:00:00 2001 From: Jonathan Lifflander Date: Mon, 26 Sep 2022 08:29:25 -0700 Subject: [PATCH] #1899: runnable: fix double free --- src/vt/scheduler/base_unit.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/vt/scheduler/base_unit.cc b/src/vt/scheduler/base_unit.cc index 9c89544d36..3a4292d289 100644 --- a/src/vt/scheduler/base_unit.cc +++ b/src/vt/scheduler/base_unit.cc @@ -54,9 +54,12 @@ void BaseUnit::execute() { if (not r_->isDone()) { auto tid = r_->getThreadID(); theSched()->suspend(tid, std::move(r_)); + } else { + delete r_; } + #else + delete r_; #endif - delete r_; } else if (work_) { work_(); }