Skip to content
Snippets Groups Projects
Commit f6639290 authored by Adrien Béraud's avatar Adrien Béraud
Browse files

scheduled_executor: prevent use-after-free in reschedule

Change-Id: I449e8fa5afe064cc17d834722f0d870be711d32c
parent 90c99062
Branches
Tags
No related merge requests found
......@@ -101,10 +101,12 @@ ScheduledExecutor::scheduleAtFixedRate(std::function<bool()>&& job,
void
ScheduledExecutor::reschedule(std::shared_ptr<RepeatedTask> task, time_point t, duration dt)
{
const char* filename = task->job().filename;
uint32_t linenum = task->job().linum;
schedule(std::make_shared<Task>([this, task = std::move(task), t, dt]() mutable {
if (task->run(name_.c_str()))
reschedule(std::move(task), t + dt, dt);
}, task->job().filename, task->job().linum),
}, filename, linenum),
t);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment