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;
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to