]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MINOR: dns: Fix check on nameserver in snr_resolution_cb
authorChristopher Faulet <cfaulet@haproxy.com>
Fri, 15 Sep 2017 09:55:45 +0000 (11:55 +0200)
committerWilly Tarreau <w@1wt.eu>
Fri, 15 Sep 2017 16:42:23 +0000 (18:42 +0200)
snr_resolution_cb can be called with <nameserver> parameter set to NULL. So we
must check it before using it. This is done most of time, except when we deal
with invalid DNS response.

src/server.c

index ec2dbe89432ee0c26953e75b9949149fb1f11af8..ebfe0e5c026d922ac0a0f729c8d3fef1a80b9c44 100644 (file)
@@ -3990,10 +3990,11 @@ int snr_resolution_cb(struct dns_requester *requester, struct dns_nameserver *na
        return 1;
 
  invalid:
-       if (nameserver)
+       if (nameserver) {
                nameserver->counters.invalid += 1;
-       if (resolution->nb_responses >= nameserver->resolvers->count_nameservers)
-               goto update_status;
+               if (resolution->nb_responses >= nameserver->resolvers->count_nameservers)
+                       goto update_status;
+       }
 
        snr_update_srv_status(s, has_no_ip);
        return 0;