Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 23 Feb 2016 18:50:34 +0000 (UTC)
From:      Michael Tuexen <tuexen@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r295929 - head/sys/netinet6
Message-ID:  <201602231850.u1NIoY4S093802@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: tuexen
Date: Tue Feb 23 18:50:34 2016
New Revision: 295929
URL: https://svnweb.freebsd.org/changeset/base/295929

Log:
  Don't leak an address in an error path.
  
  CID:		1351729
  MFC after:	3 days

Modified:
  head/sys/netinet6/sctp6_usrreq.c

Modified: head/sys/netinet6/sctp6_usrreq.c
==============================================================================
--- head/sys/netinet6/sctp6_usrreq.c	Tue Feb 23 18:17:01 2016	(r295928)
+++ head/sys/netinet6/sctp6_usrreq.c	Tue Feb 23 18:50:34 2016	(r295929)
@@ -1009,6 +1009,7 @@ sctp6_getaddr(struct socket *so, struct 
 			stcb = LIST_FIRST(&inp->sctp_asoc_list);
 			if (stcb == NULL) {
 				SCTP_INP_RUNLOCK(inp);
+				SCTP_FREE_SONAME(sin6);
 				SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP6_USRREQ, ENOENT);
 				return (ENOENT);
 			}
@@ -1028,6 +1029,7 @@ sctp6_getaddr(struct socket *so, struct 
 			if ((!fnd) || (sin_a6 == NULL)) {
 				/* punt */
 				SCTP_INP_RUNLOCK(inp);
+				SCTP_FREE_SONAME(sin6);
 				SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP6_USRREQ, ENOENT);
 				return (ENOENT);
 			}



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201602231850.u1NIoY4S093802>