diff options
author | rrs <rrs@FreeBSD.org> | 2006-11-08 00:21:13 +0000 |
---|---|---|
committer | rrs <rrs@FreeBSD.org> | 2006-11-08 00:21:13 +0000 |
commit | 1bedc49b68670bf727f50429a15911323ca540e3 (patch) | |
tree | f6f786f609125bed924191c84569dc69cd63afc8 /sys/netinet/sctp_output.c | |
parent | 0c2fa6c52c1266ecfbf3b99e2c6c0377acac1444 (diff) | |
download | FreeBSD-src-1bedc49b68670bf727f50429a15911323ca540e3.zip FreeBSD-src-1bedc49b68670bf727f50429a15911323ca540e3.tar.gz |
-Fixes first of all the getcred on IPv6 and V4. The
copy's were incorrect and so was the locking.
-A bug was also found that would create a race and
panic when an abort arrived on a socket being read
from.
-Also fix the reader to get MSG_TRUNC when a partial
delivery is aborted.
-Also addresses a couple of coverity caught error path
memory leaks and a couple of other valid complaints
Approved by: gnn
Diffstat (limited to 'sys/netinet/sctp_output.c')
-rw-r--r-- | sys/netinet/sctp_output.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/netinet/sctp_output.c b/sys/netinet/sctp_output.c index 094e665..76c2d61 100644 --- a/sys/netinet/sctp_output.c +++ b/sys/netinet/sctp_output.c @@ -9870,6 +9870,9 @@ sctp_lower_sosend(struct socket *so, } mm = sctp_copy_resume(sp, uio, srcv, max_len, user_marks_eor, &error, &sndout, &new_tail); if ((mm == NULL) || error) { + if (mm) { + sctp_m_freem(mm); + } goto out; } /* Update the mbuf and count */ |