Fix resolver responses statistics counter

The resquery_response() function increases the response counter without
checking if the response was successful. Increase the counter only when
the result indicates success.
This commit is contained in:
Aram Sargsyan 2025-03-06 14:26:23 +00:00 committed by Arаm Sаrgsyаn
parent c6e5710846
commit 12e7dfa397

View file

@ -7462,10 +7462,12 @@ resquery_response(isc_result_t eresult, isc_region_t *region, void *arg) {
QTRACE("response");
if (isc_sockaddr_pf(&query->addrinfo->sockaddr) == PF_INET) {
inc_stats(fctx->res, dns_resstatscounter_responsev4);
} else {
inc_stats(fctx->res, dns_resstatscounter_responsev6);
if (eresult == ISC_R_SUCCESS) {
if (isc_sockaddr_pf(&query->addrinfo->sockaddr) == PF_INET) {
inc_stats(fctx->res, dns_resstatscounter_responsev4);
} else {
inc_stats(fctx->res, dns_resstatscounter_responsev6);
}
}
rctx = isc_mem_get(fctx->mctx, sizeof(*rctx));