diff options
author | Daniel Hartmeier <dhartmei@cvs.openbsd.org> | 2001-07-04 16:52:04 +0000 |
---|---|---|
committer | Daniel Hartmeier <dhartmei@cvs.openbsd.org> | 2001-07-04 16:52:04 +0000 |
commit | 9263af4975033fd9907b459099ba61351c1e4ee1 (patch) | |
tree | 3fac57a71fdb1cc48fcbf96f4ebf255cbb1f3787 /sys/netinet/ip_icmp.c | |
parent | 721246dab54485c5e00598347b8e489380774cf3 (diff) |
handle m->m_pkthdr.rcvif == NULL; temporarily ok deraadt@; pending itojun@
Diffstat (limited to 'sys/netinet/ip_icmp.c')
-rw-r--r-- | sys/netinet/ip_icmp.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/sys/netinet/ip_icmp.c b/sys/netinet/ip_icmp.c index 27266a65e8c..11c8a31c6dc 100644 --- a/sys/netinet/ip_icmp.c +++ b/sys/netinet/ip_icmp.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ip_icmp.c,v 1.41 2001/07/04 05:52:16 angelos Exp $ */ +/* $OpenBSD: ip_icmp.c,v 1.42 2001/07/04 16:52:03 dhartmei Exp $ */ /* $NetBSD: ip_icmp.c,v 1.19 1996/02/13 23:42:22 christos Exp $ */ /* @@ -508,8 +508,9 @@ icmp_input(m, va_alist) icmpdst.sin_addr = ip->ip_src; else icmpdst.sin_addr = ip->ip_dst; - ia = ifatoia(ifaof_ifpforaddr(sintosa(&icmpdst), - m->m_pkthdr.rcvif)); + if (m->m_pkthdr.rcvif != NULL) + ia = ifatoia(ifaof_ifpforaddr(sintosa(&icmpdst), + m->m_pkthdr.rcvif)); if (ia == 0) break; icp->icmp_type = ICMP_MASKREPLY; @@ -632,7 +633,7 @@ icmp_reflect(m) break; } icmpdst.sin_addr = t; - if (ia == (struct in_ifaddr *)0) + if ((ia == (struct in_ifaddr *)0) && (m->m_pkthdr.rcvif != NULL)) ia = ifatoia(ifaof_ifpforaddr(sintosa(&icmpdst), m->m_pkthdr.rcvif)); /* |