summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThorsten Lockert <tholo@cvs.openbsd.org>1996-03-14 08:11:55 +0000
committerThorsten Lockert <tholo@cvs.openbsd.org>1996-03-14 08:11:55 +0000
commit1b093bbb4844836d5983d03bfa5a05a6e55dc702 (patch)
tree7fd8757bf084f74807e43791b80ae810ddb3e3e7
parente692d5b0bcad666384ad6c8b490ca226f124d224 (diff)
From Lite2; fix mbuf leak
-rw-r--r--sys/netinet/tcp_usrreq.c8
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) {