Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/netinet6 Fix error checking in in6_gif_ctlinput().
details: https://anonhg.NetBSD.org/src/rev/d8bf7cd800be
branches: trunk
changeset: 321389:d8bf7cd800be
user: knakahara <knakahara%NetBSD.org@localhost>
date: Wed Mar 14 07:56:32 2018 +0000
description:
Fix error checking in in6_gif_ctlinput().
if_gif.c:r1.133 introduces gif_update_variant() which ensure ifp->if_flags
is set IFF_RUNNING when gif_softc->gif_var->gv_{psrc,pdst} are not null.
So, in6_gif_ctlinput() is not required IFF_RUNNING checking. In contrast,
it is required gv_{psrc,pdst} NULL checking.
diffstat:
sys/netinet6/in6_gif.c | 10 ++++++----
1 files changed, 6 insertions(+), 4 deletions(-)
diffs (32 lines):
diff -r 6181e15fe339 -r d8bf7cd800be sys/netinet6/in6_gif.c
--- a/sys/netinet6/in6_gif.c Wed Mar 14 07:53:14 2018 +0000
+++ b/sys/netinet6/in6_gif.c Wed Mar 14 07:56:32 2018 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: in6_gif.c,v 1.90 2018/01/10 11:13:26 knakahara Exp $ */
+/* $NetBSD: in6_gif.c,v 1.91 2018/03/14 07:56:32 knakahara Exp $ */
/* $KAME: in6_gif.c,v 1.62 2001/07/29 04:27:25 itojun Exp $ */
/*
@@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: in6_gif.c,v 1.90 2018/01/10 11:13:26 knakahara Exp $");
+__KERNEL_RCSID(0, "$NetBSD: in6_gif.c,v 1.91 2018/03/14 07:56:32 knakahara Exp $");
#ifdef _KERNEL_OPT
#include "opt_inet.h"
@@ -459,9 +459,11 @@
if (!ip6)
return NULL;
- if ((sc->gif_if.if_flags & IFF_RUNNING) == 0)
+ var = gif_getref_variant(sc, &psref);
+ if (var->gv_psrc == NULL || var->gv_pdst == NULL) {
+ gif_putref_variant(var, &psref);
return NULL;
- var = gif_getref_variant(sc, &psref);
+ }
if (var->gv_psrc->sa_family != AF_INET6) {
gif_putref_variant(var, &psref);
return NULL;
Home |
Main Index |
Thread Index |
Old Index