From 6f5f8c6c2c7d212e50d18d9c52828732d8daca2f Mon Sep 17 00:00:00 2001 From: ru Date: Fri, 11 Jan 2002 12:13:57 +0000 Subject: Fix a panic condition in icmp_reflect() introduced in rev. 1.61. (We should be able to handle locally originated IP packets, and these do not have m_pkthdr.rcvif set.) PR: kern/32806, kern/33766 Reviewed by: luigi Fix tested by: Maxim Konovalov , Erwin Lansing --- sys/netinet/ip_icmp.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'sys/netinet') diff --git a/sys/netinet/ip_icmp.c b/sys/netinet/ip_icmp.c index a73a150..b1d37dc 100644 --- a/sys/netinet/ip_icmp.c +++ b/sys/netinet/ip_icmp.c @@ -609,8 +609,8 @@ icmp_reflect(m) LIST_FOREACH(ia, INADDR_HASH(t.s_addr), ia_hash) if (t.s_addr == IA_SIN(ia)->sin_addr.s_addr) goto match; - KASSERT(m->m_pkthdr.rcvif != NULL, ("icmp_reflect: NULL rcvif")); - if (m->m_pkthdr.rcvif->if_flags & IFF_BROADCAST) { + if (m->m_pkthdr.rcvif != NULL && + m->m_pkthdr.rcvif->if_flags & IFF_BROADCAST) { TAILQ_FOREACH(ifa, &m->m_pkthdr.rcvif->if_addrhead, ifa_link) { if (ifa->ifa_addr->sa_family != AF_INET) continue; -- cgit v1.1