This file contains a patch for OpenBSD 4.0 errata #8.
THIS IS THE SECOND REVISION OF THIS PATCH.
For more information about this errata, please refer to
http://www.OpenBSD.org/errata.html#icmp6
This URL will change to
http://www.OpenBSD.org/errata40.html#icmp6 once
OpenBSD 4.1 is released around May 1st, 2007.
Apply this patch by doing:
cd /usr/src
patch -p0 < 008_icmp6.patch
And then rebuild and install the kernel.
For more information about OpenBSD errata and how to apply them, please
refer to FAQ 10.15:
http://www.OpenBSD.org/faq/faq10.html#Patches
For more information about compiling the OpenBSD kernel, please refer to
FAQ 5.3.4:
http://www.OpenBSD.org/faq/faq5.html#Building
Index: sys/netinet6/icmp6.c
===================================================================
RCS file: /cvs/src/sys/netinet6/icmp6.c,v
retrieving revision 1.87
retrieving revision 1.87.2.2
diff -u -r1.87 -r1.87.2.2
--- sys/netinet6/icmp6.c 16 Jun 2006 16:49:40 -0000 1.87
+++ sys/netinet6/icmp6.c 16 Jan 2007 19:31:41 -0000 1.87.2.2
@@ -619,7 +619,8 @@
} else {
deliverecho:
nip6 = mtod(n, struct ip6_hdr *);
- nicmp6 = (struct icmp6_hdr *)((caddr_t)nip6 + off);
+ IP6_EXTHDR_GET(nicmp6, struct icmp6_hdr *, n, off,
+ sizeof(*nicmp6));
noff = off;
}
nicmp6->icmp6_type = ICMP6_ECHO_REPLY;