summaryrefslogtreecommitdiffstats
path: root/sys/netinet6
diff options
context:
space:
mode:
authoritojun <itojun@FreeBSD.org>2000-09-03 13:43:13 +0000
committeritojun <itojun@FreeBSD.org>2000-09-03 13:43:13 +0000
commitf729518373a69a6b7ad1a54c1bd21cd6aaec7035 (patch)
treeb7de3bb1f6e9ebc31cc2926d580367a79fe9c455 /sys/netinet6
parent9ec6d409a0641ddf61030e46efe018b37a08d4fa (diff)
downloadFreeBSD-src-f729518373a69a6b7ad1a54c1bd21cd6aaec7035.zip
FreeBSD-src-f729518373a69a6b7ad1a54c1bd21cd6aaec7035.tar.gz
repair type 0 routing header support. it was caused by RFC2292/2292bis
difference. from: jinmei@kame.net
Diffstat (limited to 'sys/netinet6')
-rw-r--r--sys/netinet6/route6.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/netinet6/route6.c b/sys/netinet6/route6.c
index cbba9db..3cd95a1 100644
--- a/sys/netinet6/route6.c
+++ b/sys/netinet6/route6.c
@@ -157,7 +157,8 @@ ip6_rthdr0(m, ip6, rh0)
index = addrs - rh0->ip6r0_segleft;
rh0->ip6r0_segleft--;
- nextaddr = ((struct in6_addr *)(rh0 + 1)) + index;
+ /* note that ip6r0_addr does not exist in RFC2292bis */
+ nextaddr = rh0->ip6r0_addr + index;
/*
* reject invalid addresses. be proactive about malicious use of
OpenPOWER on IntegriCloud