diff options
author | Thorsten Lockert <tholo@cvs.openbsd.org> | 1996-03-14 08:11:55 +0000 |
---|---|---|
committer | Thorsten Lockert <tholo@cvs.openbsd.org> | 1996-03-14 08:11:55 +0000 |
commit | 1b093bbb4844836d5983d03bfa5a05a6e55dc702 (patch) | |
tree | 7fd8757bf084f74807e43791b80ae810ddb3e3e7 | |
parent | e692d5b0bcad666384ad6c8b490ca226f124d224 (diff) |
From Lite2; fix mbuf leak
-rw-r--r-- | sys/netinet/tcp_usrreq.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/sys/netinet/tcp_usrreq.c b/sys/netinet/tcp_usrreq.c index edd61e83389..e47e0378f77 100644 --- a/sys/netinet/tcp_usrreq.c +++ b/sys/netinet/tcp_usrreq.c @@ -1,4 +1,4 @@ -/* $OpenBSD: tcp_usrreq.c,v 1.2 1996/03/03 22:30:49 niklas Exp $ */ +/* $OpenBSD: tcp_usrreq.c,v 1.3 1996/03/14 08:11:54 tholo Exp $ */ /* $NetBSD: tcp_usrreq.c,v 1.20 1996/02/13 23:44:16 christos Exp $ */ /* @@ -110,6 +110,12 @@ tcp_usrreq(so, req, m, nam, control) */ if (inp == 0 && req != PRU_ATTACH) { splx(s); + /* + * The following corrects an mbuf leak under rare + * circumstances + */ + if (m && (req == PRU_SEND || req == PRU_SENDOOB)) + m_freem(m); return (EINVAL); /* XXX */ } if (inp) { |