summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Friedl <markus@cvs.openbsd.org>2003-02-15 16:43:11 +0000
committerMarkus Friedl <markus@cvs.openbsd.org>2003-02-15 16:43:11 +0000
commit000955fd91aacfdc45088d919fac491667a6e1c8 (patch)
tree79fd48aac95e69657cd61d588838c0e4c7aac5e9
parent2f34d175b5693779c270bb4a071972f7028f8507 (diff)
rip_output: make sure a full ip header is passed for INP_HDRINCL; ok deraadt@
-rw-r--r--sys/netinet/raw_ip.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/netinet/raw_ip.c b/sys/netinet/raw_ip.c
index 99b863b91a4..a9f2a739763 100644
--- a/sys/netinet/raw_ip.c
+++ b/sys/netinet/raw_ip.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: raw_ip.c,v 1.26 2002/06/09 16:26:11 itojun Exp $ */
+/* $OpenBSD: raw_ip.c,v 1.27 2003/02/15 16:43:10 markus Exp $ */
/* $NetBSD: raw_ip.c,v 1.25 1996/02/18 18:58:33 christos Exp $ */
/*
@@ -218,6 +218,10 @@ rip_output(struct mbuf *m, ...)
m_freem(m);
return (EMSGSIZE);
}
+ if (m->m_pkthdr.len < sizeof (struct ip)) {
+ m_freem(m);
+ return (EINVAL);
+ }
ip = mtod(m, struct ip *);
NTOHS(ip->ip_len);
NTOHS(ip->ip_off);