mirror of
https://github.com/isc-projects/bind9.git
synced 2026-05-28 04:34:54 -04:00
Handle ISC_R_SUCCESS on a deactivated response in udp_recv()
There is a possibility for `udp_recv()` to be called with `eresult`
being `ISC_R_SUCCESS`, but nevertheless with already deactivated `resp`,
which can happen when the request has been canceled in the meantime.
(cherry picked from commit e3a88862c0)
This commit is contained in:
parent
f46e46e730
commit
4de1f65e4d
1 changed files with 2 additions and 2 deletions
|
|
@ -491,6 +491,8 @@ udp_recv(isc_nmhandle_t *handle, isc_result_t eresult, isc_region_t *region,
|
|||
*/
|
||||
if (ISC_LINK_LINKED(resp, alink)) {
|
||||
response = resp->response;
|
||||
} else if (eresult == ISC_R_SUCCESS) {
|
||||
eresult = ISC_R_CANCELED;
|
||||
}
|
||||
|
||||
if (eresult != ISC_R_SUCCESS) {
|
||||
|
|
@ -503,8 +505,6 @@ udp_recv(isc_nmhandle_t *handle, isc_result_t eresult, isc_region_t *region,
|
|||
goto done;
|
||||
}
|
||||
|
||||
INSIST(ISC_LINK_LINKED(resp, alink));
|
||||
|
||||
peer = isc_nmhandle_peeraddr(handle);
|
||||
isc_netaddr_fromsockaddr(&netaddr, &peer);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue