Fix a pretty simple, yet pretty tragic typo: we should return IPPROTO_DONE,

not IPPROTO_NONE. With IPPROTO_NONE we will keep parsing the header chain
on an mbuf that was already freed.
This commit is contained in:
maxv 2018-02-02 06:23:45 +00:00
parent cdbfa754b1
commit a201ebeeff
1 changed files with 3 additions and 3 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: ip6_mroute.c,v 1.119 2017/03/01 08:54:12 ozaki-r Exp $ */
/* $NetBSD: ip6_mroute.c,v 1.120 2018/02/02 06:23:45 maxv Exp $ */
/* $KAME: ip6_mroute.c,v 1.49 2001/07/25 09:21:18 jinmei Exp $ */
/*
@ -117,7 +117,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: ip6_mroute.c,v 1.119 2017/03/01 08:54:12 ozaki-r Exp $");
__KERNEL_RCSID(0, "$NetBSD: ip6_mroute.c,v 1.120 2018/02/02 06:23:45 maxv Exp $");
#ifdef _KERNEL_OPT
#include "opt_inet.h"
@ -1886,7 +1886,7 @@ pim6_input(struct mbuf **mp, int *offp, int proto)
(eip6->ip6_vfc & IPV6_VERSION));
#endif
m_freem(m);
return (IPPROTO_NONE);
return (IPPROTO_DONE);
}
/* verify the inner packet is destined to a mcast group */