From: Christopher Faulet Date: Thu, 11 Mar 2021 17:19:41 +0000 (+0100) Subject: CLEANUP: resolvers: Perform unsafe loop on requester list when possible X-Git-Tag: v2.4-dev12~14 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=db31b4486c939a416c10b717fc79fdbc275458f1;p=thirdparty%2Fhaproxy.git CLEANUP: resolvers: Perform unsafe loop on requester list when possible When answer list of a response is checked, it is useless to perform a safe loop on the requester list. --- diff --git a/src/resolvers.c b/src/resolvers.c index 2d79725b75..f3564927fe 100644 --- a/src/resolvers.c +++ b/src/resolvers.c @@ -573,7 +573,7 @@ int resolv_read_name(unsigned char *buffer, unsigned char *bufend, static void resolv_check_response(struct resolv_resolution *res) { struct resolvers *resolvers = res->resolvers; - struct resolv_requester *req, *reqback; + struct resolv_requester *req; struct resolv_answer_item *item, *itemback; struct server *srv; struct resolv_srvrq *srvrq; @@ -595,7 +595,7 @@ static void resolv_check_response(struct resolv_resolution *res) if (item->type != DNS_RTYPE_SRV) goto rm_obselete_item; - list_for_each_entry_safe(req, reqback, &res->requesters, list) { + list_for_each_entry(req, &res->requesters, list) { if ((srvrq = objt_resolv_srvrq(req->owner)) == NULL) continue; @@ -631,7 +631,7 @@ static void resolv_check_response(struct resolv_resolution *res) continue; /* Now process SRV records */ - list_for_each_entry_safe(req, reqback, &res->requesters, list) { + list_for_each_entry(req, &res->requesters, list) { if ((srvrq = objt_resolv_srvrq(req->owner)) == NULL) continue;