diff options
author | julian <julian@FreeBSD.org> | 1997-05-23 22:33:16 +0000 |
---|---|---|
committer | julian <julian@FreeBSD.org> | 1997-05-23 22:33:16 +0000 |
commit | 38bb137783cfbc94e7add247d104d7d31928908a (patch) | |
tree | c7a82a29a8c09a30d53333c406d685e261b31a1e /sys/netinet | |
parent | 948c5554d5da16ce030b0457e1b4549b5ad953e5 (diff) | |
download | FreeBSD-src-38bb137783cfbc94e7add247d104d7d31928908a.zip FreeBSD-src-38bb137783cfbc94e7add247d104d7d31928908a.tar.gz |
submitted by: archie@whistle.com
Don't search for interface addresses matching interface "NULL"
it's likely to cause a page fault..
this can be triggered by the ipfw code rejecting a locally generated
packet (e.g. you decide to make some network unreachable by local users)
Diffstat (limited to 'sys/netinet')
-rw-r--r-- | sys/netinet/ip_icmp.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/netinet/ip_icmp.c b/sys/netinet/ip_icmp.c index 57e91bc..d813c29 100644 --- a/sys/netinet/ip_icmp.c +++ b/sys/netinet/ip_icmp.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)ip_icmp.c 8.2 (Berkeley) 1/4/94 - * $Id$ + * $Id: ip_icmp.c,v 1.25 1997/02/22 09:41:33 peter Exp $ */ #include <sys/param.h> @@ -517,7 +517,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) ia = (struct in_ifaddr *)ifaof_ifpforaddr( (struct sockaddr *)&icmpdst, m->m_pkthdr.rcvif); /* |