Properly progress through the list of IPv6 addresses using in6_addr size.

Right now if a jail has multiple IPv6 addresses, it will print them
shifting only 4 bytes at a time. Example:

	2001:4dd0:ff41::b23f:a9
	2001:4dd0:ff41::b23f:aa

Becomes:

	2001:4dd0:ff41::b23f:a9
	ff41::b23f:a9:2001:4dd0

By casting to in6_addr, it uses the correct offsets.

MFC after:	1 week
This commit is contained in:
Ed Schouten 2010-03-18 20:13:04 +00:00
parent b8743b3ba5
commit f97f9525ba
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=205296

View File

@ -355,7 +355,7 @@ print_jail(int pflags, int jflags)
count = params[7].jp_valuelen / sizeof(struct in6_addr);
for (ai = 0; ai < count; ai++)
if (inet_ntop(AF_INET6,
&((struct in_addr *)params[7].jp_value)[ai],
&((struct in6_addr *)params[7].jp_value)[ai],
ipbuf, sizeof(ipbuf)) == NULL)
err(1, "inet_ntop");
else