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; } _______________________________________________ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"