]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
net: reset nb->data per dns record lookup loop
authorJosef Bacik <jbacik@fb.com>
Tue, 24 Nov 2015 17:41:35 +0000 (12:41 -0500)
committerAndrei Borzenkov <arvidjaar@gmail.com>
Tue, 24 Nov 2015 17:48:16 +0000 (20:48 +0300)
We were resetting nb->data every time we tried a new server, but we need to do
it every time we try for a different record, otherwise we don't end up falling
back to the A record properly.  Thanks,

Signed-off-by: Josef Bacik <jbacik@fb.com>
grub-core/net/dns.c

index 953f3bedd9d9725c9fd2a3963766c0f899743aa0..89741dd7d41ef16837a4ca0487b9d383efd41c24 100644 (file)
@@ -568,11 +568,10 @@ grub_net_dns_lookup (const char *name,
        {
           grub_err_t err2;
 
-          nb->data = nbd;
-
           grub_size_t t = 0;
           do
             {
+              nb->data = nbd;
               if (servers[j].option == DNS_OPTION_IPV4 ||
                  ((servers[j].option == DNS_OPTION_PREFER_IPV4) && (t++ == 0)) ||
                  ((servers[j].option == DNS_OPTION_PREFER_IPV6) && (t++ == 1)))