svn commit: r220475 - stable/7/usr.sbin/rtadvd
Bjoern A. Zeeb
bz at FreeBSD.org
Sat Apr 9 10:18:46 UTC 2011
Author: bz
Date: Sat Apr 9 10:18:46 2011
New Revision: 220475
URL: http://svn.freebsd.org/changeset/base/220475
Log:
MFC r219184:
Prevent crashes from a race when (cloned) interfaces go away.
PR: bin/152143
Submitted by: Przemyslaw Frasunek (przemyslaw frasunek.com)
Tested by: Przemyslaw Frasunek (przemyslaw frasunek.com)
Modified:
stable/7/usr.sbin/rtadvd/rtadvd.c
Directory Properties:
stable/7/usr.sbin/rtadvd/ (props changed)
Modified: stable/7/usr.sbin/rtadvd/rtadvd.c
==============================================================================
--- stable/7/usr.sbin/rtadvd/rtadvd.c Sat Apr 9 09:33:36 2011 (r220474)
+++ stable/7/usr.sbin/rtadvd/rtadvd.c Sat Apr 9 10:18:46 2011 (r220475)
@@ -667,14 +667,16 @@ rtadvd_input()
}
/*
- * If we happen to receive data on an interface which is now down,
- * just discard the data.
+ * If we happen to receive data on an interface which is now gone
+ * or down, just discard the data.
*/
- if ((iflist[pi->ipi6_ifindex]->ifm_flags & IFF_UP) == 0) {
+ if (iflist[pi->ipi6_ifindex] == NULL ||
+ (iflist[pi->ipi6_ifindex]->ifm_flags & IFF_UP) == 0) {
syslog(LOG_INFO,
"<%s> received data on a disabled interface (%s)",
__func__,
- if_indextoname(pi->ipi6_ifindex, ifnamebuf));
+ (iflist[pi->ipi6_ifindex] == NULL) ? "[gone]" :
+ if_indextoname(pi->ipi6_ifindex, ifnamebuf));
return;
}
More information about the svn-src-stable
mailing list