Author: bz
Date: Wed Mar 2 17:13:07 2011
New Revision: 219184
URL: http://svn.freebsd.org/changeset/base/219184
Log:
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)
MFC after: 1 week
Modified:
head/usr.sbin/rtadvd/rtadvd.c
Modified: head/usr.sbin/rtadvd/rtadvd.c
==============================================================================
--- head/usr.sbin/rtadvd/rtadvd.c Wed Mar 2 16:16:09 2011
(r219183)
+++ head/usr.sbin/rtadvd/rtadvd.c Wed Mar 2 17:13:07 2011
(r219184)
@@ -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;
}
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"