summaryrefslogtreecommitdiffstats
path: root/sys/netinet/raw_ip.c
diff options
context:
space:
mode:
authordg <dg@FreeBSD.org>1995-01-12 10:53:25 +0000
committerdg <dg@FreeBSD.org>1995-01-12 10:53:25 +0000
commit596e11c208ac0ac4b76e7375896e9f425afad809 (patch)
tree2eed6d8f565ab394f82126e1acec6c644b599255 /sys/netinet/raw_ip.c
parentd8f618fa89ff0c6ae86007a23c7d5dbcb597db2d (diff)
downloadFreeBSD-src-596e11c208ac0ac4b76e7375896e9f425afad809.zip
FreeBSD-src-596e11c208ac0ac4b76e7375896e9f425afad809.tar.gz
Fixed mbuf lossage when level != IPPROTO_IP. Problem reported by Robert
Dobbs, hint from Charles Hannum, fix by me.
Diffstat (limited to 'sys/netinet/raw_ip.c')
-rw-r--r--sys/netinet/raw_ip.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/netinet/raw_ip.c b/sys/netinet/raw_ip.c
index 92d5b5a..c02cf40a 100644
--- a/sys/netinet/raw_ip.c
+++ b/sys/netinet/raw_ip.c
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)raw_ip.c 8.2 (Berkeley) 1/4/94
- * $Id: raw_ip.c,v 1.9 1994/12/12 17:20:55 ugen Exp $
+ * $Id: raw_ip.c,v 1.10 1994/12/13 15:57:34 ugen Exp $
*/
#include <sys/param.h>
@@ -188,8 +188,11 @@ rip_ctloutput(op, so, level, optname, m)
register struct inpcb *inp = sotoinpcb(so);
register int error;
- if (level != IPPROTO_IP)
+ if (level != IPPROTO_IP) {
+ if (op == PRCO_SETOPT && *m)
+ (void)m_free(*m);
return (EINVAL);
+ }
switch (optname) {
OpenPOWER on IntegriCloud