summaryrefslogtreecommitdiffstats
path: root/lib/libc/net/res_init.c
diff options
context:
space:
mode:
authorume <ume@FreeBSD.org>2001-08-11 15:01:12 +0000
committerume <ume@FreeBSD.org>2001-08-11 15:01:12 +0000
commit2004f62eea1d7940b4d69e6d0a01ed9dea6c5255 (patch)
tree0ddb835dd4797e28cfb78da14d928a13f2423dc4 /lib/libc/net/res_init.c
parent77f1de760e5eb4c9e52f61d48883479bc55d3068 (diff)
downloadFreeBSD-src-2004f62eea1d7940b4d69e6d0a01ed9dea6c5255.zip
FreeBSD-src-2004f62eea1d7940b4d69e6d0a01ed9dea6c5255.tar.gz
Fill _res.sort_list with harmless entry. sortlist for IPv6/IPv4
is stored in _res_ext.sort_list, and sortlist for IPv4 is stored in _res.sort_list for backward compatibility. However, both sort_list's are maintaind by just one index _res.nsort. So, when IPv6 address is specified to sortlist, empty entry was created in _res.sort_list. It broke sortlist facility of gethostbyname(). Discussed on users@jp.ipv6.org.
Diffstat (limited to 'lib/libc/net/res_init.c')
-rw-r--r--lib/libc/net/res_init.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/libc/net/res_init.c b/lib/libc/net/res_init.c
index 035dd05..2d25677 100644
--- a/lib/libc/net/res_init.c
+++ b/lib/libc/net/res_init.c
@@ -429,6 +429,9 @@ res_init()
u++;
}
}
+ _res.sort_list[nsort].addr.s_addr =
+ (u_int32_t)0xffffffff;
+ _res.sort_list[nsort].mask = (u_int32_t)0xffffffff;
nsort++;
}
*cp = n;
OpenPOWER on IntegriCloud