Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/netbsd-8]: src/sys/netinet6 Pull up following revision(s) (requested by ...



details:   https://anonhg.NetBSD.org/src/rev/17fa02b8a650
branches:  netbsd-8
changeset: 850813:17fa02b8a650
user:      martin <martin%NetBSD.org@localhost>
date:      Fri Jul 07 09:46:40 2017 +0000

description:
Pull up following revision(s) (requested by knakahara in ticket #106):
        sys/netinet6/icmp6.c: revision 1.212
fix PR kern/52353. implemented by ozaki-r@n.o. I just commit by proxy.
XXX need to pullup to -8.

diffstat:

 sys/netinet6/icmp6.c |  13 +++++++++++--
 1 files changed, 11 insertions(+), 2 deletions(-)

diffs (34 lines):

diff -r 0dd6e6b2dbea -r 17fa02b8a650 sys/netinet6/icmp6.c
--- a/sys/netinet6/icmp6.c      Fri Jul 07 09:29:23 2017 +0000
+++ b/sys/netinet6/icmp6.c      Fri Jul 07 09:46:40 2017 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: icmp6.c,v 1.211 2017/03/14 04:24:04 ozaki-r Exp $      */
+/*     $NetBSD: icmp6.c,v 1.211.6.1 2017/07/07 09:46:40 martin Exp $   */
 /*     $KAME: icmp6.c,v 1.217 2001/06/20 15:03:29 jinmei Exp $ */
 
 /*
@@ -62,7 +62,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: icmp6.c,v 1.211 2017/03/14 04:24:04 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: icmp6.c,v 1.211.6.1 2017/07/07 09:46:40 martin Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_inet.h"
@@ -494,6 +494,15 @@
                goto freeit;
        }
 
+       if (m->m_len < sizeof(struct ip6_hdr)) {
+               m = m_pullup(m, sizeof(struct ip6_hdr));
+               if (m == NULL) {
+                       ICMP6_STATINC(ICMP6_STAT_TOOSHORT);
+                       icmp6_ifstat_inc(rcvif, ifs6_in_error);
+                       goto freeit;
+               }
+       }
+
        ip6 = mtod(m, struct ip6_hdr *);
        IP6_EXTHDR_GET(icmp6, struct icmp6_hdr *, m, off, sizeof(*icmp6));
        if (icmp6 == NULL) {



Home | Main Index | Thread Index | Old Index