diff options
author | ed <ed@FreeBSD.org> | 2010-03-18 20:13:04 +0000 |
---|---|---|
committer | ed <ed@FreeBSD.org> | 2010-03-18 20:13:04 +0000 |
commit | 128d8862760f60ace9ff3521f9731b0205b90bb4 (patch) | |
tree | ab60603d26e423ebae3b83db725d6f2293f1de22 | |
parent | d645bf55b32e90960b5ca1f5177df2639a11c530 (diff) | |
download | FreeBSD-src-128d8862760f60ace9ff3521f9731b0205b90bb4.zip FreeBSD-src-128d8862760f60ace9ff3521f9731b0205b90bb4.tar.gz |
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
-rw-r--r-- | usr.sbin/jls/jls.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/usr.sbin/jls/jls.c b/usr.sbin/jls/jls.c index 3f4800c..a3a23b7 100644 --- a/usr.sbin/jls/jls.c +++ b/usr.sbin/jls/jls.c @@ -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 |