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;
