BUG/MINOR: resolvers: Fix condition to release received ARs if not assigned

At the end of resolv_validate_dns_response(), if a received additionnal
record is not assigned to an existing server record, it is released. But the
condition to do so is buggy. If "answer_record" (the received AR) is not
assigned, "tmp_record" is not a valid record object. It is just a dummy
record "representing" the head of the record list.

Now, the condition is far cleaner. This patch must be backported as far as
2.2.

(cherry picked from commit 9c246a4b6ce3fa0e70399e0158866d41b8662a7f)
[cf: Changes applied in src/dns.c]
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
diff --git a/src/dns.c b/src/dns.c
index 7aef957..3fcf434 100644
--- a/src/dns.c
+++ b/src/dns.c
@@ -1287,12 +1287,14 @@
 				    !dns_hostname_cmp(tmp_record->target, dns_answer_record->name, tmp_record->data_len)) {
 					/* Always use the received additional record to refresh info */
 					tmp_record->ar_item = dns_answer_record;
+					dns_answer_record = NULL;
 					break;
 				}
 			}
-			if (tmp_record->ar_item != dns_answer_record)
+			if (dns_answer_record) {
 				pool_free(dns_answer_item_pool, dns_answer_record);
-			dns_answer_record = NULL;
+				dns_answer_record = NULL;
+			}
 		}
 	} /* for i 0 to arcount */