Technically we are indeed using a stack that is no longer the active
one, because we just switched to a different context, but since the
previous stack still exists that I do not believe it is a real issue.
After this commit we access the previous stack before notifying ASAN
that the stack switch is finished, so we are still allowed to do that.
Note that clang 19 ASAN is fine with both behaviour, but GCC 14 and 15
ASAN aren't.
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
*ptr = res.fctx;
}
#endif
+ auto start = std::move(*work);
notifyStackSwitchDone();
args = nullptr;
try {
- auto start = std::move(*work);
start();
}
catch (...) {