svn commit: r344722 - head/lib/libc/net

Michael Tuexen tuexen at FreeBSD.org
Sat Mar 2 13:16:02 UTC 2019


Author: tuexen
Date: Sat Mar  2 13:16:01 2019
New Revision: 344722
URL: https://svnweb.freebsd.org/changeset/base/344722

Log:
  Use correct buffer sizes in sctp_get[lp]addrs().
  
  MFC after:		3 days

Modified:
  head/lib/libc/net/sctp_sys_calls.c

Modified: head/lib/libc/net/sctp_sys_calls.c
==============================================================================
--- head/lib/libc/net/sctp_sys_calls.c	Sat Mar  2 13:12:37 2019	(r344721)
+++ head/lib/libc/net/sctp_sys_calls.c	Sat Mar  2 13:16:01 2019	(r344722)
@@ -415,7 +415,7 @@ sctp_getpaddrs(int sd, sctp_assoc_t id, struct sockadd
 		return (-1);
 	}
 	/* size required is returned in 'asoc' */
-	opt_len = (socklen_t) ((size_t)asoc + sizeof(struct sctp_getaddresses));
+	opt_len = (socklen_t) ((size_t)asoc + sizeof(sctp_assoc_t));
 	addrs = calloc(1, (size_t)opt_len);
 	if (addrs == NULL) {
 		errno = ENOMEM;
@@ -475,9 +475,7 @@ sctp_getladdrs(int sd, sctp_assoc_t id, struct sockadd
 		errno = ENOTCONN;
 		return (-1);
 	}
-	opt_len = (socklen_t) (size_of_addresses +
-	    sizeof(struct sockaddr_storage) +
-	    sizeof(struct sctp_getaddresses));
+	opt_len = (socklen_t) (size_of_addresses + sizeof(sctp_assoc_t));
 	addrs = calloc(1, (size_t)opt_len);
 	if (addrs == NULL) {
 		errno = ENOMEM;


More information about the svn-src-head mailing list