diff --git a/lib/dns/request.c b/lib/dns/request.c index 977b2ebaad..5cb7c7d263 100644 --- a/lib/dns/request.c +++ b/lib/dns/request.c @@ -972,6 +972,8 @@ req_response(isc_result_t result, isc_region_t *region, void *arg) { req_log(ISC_LOG_DEBUG(3), "req_response: request %p: %s", request, isc_result_totext(result)); + REQUIRE(VALID_REQUEST(request)); + if (result == ISC_R_TIMEDOUT) { LOCK(&request->requestmgr->locks[request->hash]); if (request->udpcount > 1) { @@ -989,8 +991,6 @@ req_response(isc_result_t result, isc_region_t *region, void *arg) { goto done; } - REQUIRE(VALID_REQUEST(request)); - LOCK(&request->requestmgr->locks[request->hash]); if (result != ISC_R_SUCCESS) {