]> git.ipfire.org Git - thirdparty/bind9.git/commit
Don't set the offloaded work result from main thread
authorOndřej Surý <ondrej@isc.org>
Fri, 20 Oct 2023 05:58:26 +0000 (07:58 +0200)
committerOndřej Surý <ondrej@isc.org>
Tue, 24 Oct 2023 09:14:54 +0000 (11:14 +0200)
commite0e089f10652f3c12ea5ae6d24efe1c8dd7d1541
treeb7d4edb6b7503991fbfea6c92d49b676160f4c9a
parent04304272a9c6d392badc997d3c36448657109754
Don't set the offloaded work result from main thread

The xfrin_recv_done() was accessing xfr->result where we stored the
result of the offloaded work from a thread that could receive data while
processing the transfer on the offloaded thread.

Completely remove the offloaded result from the dns_xfrin_t structure
and keep it local for *xfr_apply() and *xfr_apply_done() as the failure
is already recorded in .shutdown_result and we now that the processing
has failed because .shuttingdown has been already set.
lib/dns/xfrin.c