changeset 1470:dc5a2e82613e

* src/sys/kern/sockio.c (bsd_connect): Set the sa_len field in the sockaddr structure. Real FreeBSD does this.
author asl
date Sat, 17 Jan 2004 14:10:52 +0000
parents 99c40a5a125d
children bdce752faff6
files packages/net/bsd_tcpip/current/ChangeLog packages/net/bsd_tcpip/current/src/sys/kern/sockio.c
diffstat 2 files changed, 9 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/packages/net/bsd_tcpip/current/ChangeLog
+++ b/packages/net/bsd_tcpip/current/ChangeLog
@@ -1,3 +1,8 @@
+2004-01-17  Andrew Lunn  <andrew.lunn@ascom.ch>
+
+	* src/sys/kern/sockio.c (bsd_connect): Set the sa_len field in
+	the sockaddr structure. Real FreeBSD does this.
+
 2003-12-21  Nick Garnett  <nickg@calivar.com>
 
 	* include/sys/param.h: Restored MD5 function mappings. These were
--- a/packages/net/bsd_tcpip/current/src/sys/kern/sockio.c
+++ b/packages/net/bsd_tcpip/current/src/sys/kern/sockio.c
@@ -257,14 +257,17 @@ static int
 bsd_connect(cyg_file *fp, const sockaddr *sa, socklen_t len)
 {
     struct socket *so;
+    sockaddr sa1=*sa;
+    
     int error, s;
 
+    sa1.sa_len = len;
     so = (struct socket *)fp->f_data;
 
     if ((so->so_state & SS_NBIO) && (so->so_state & SS_ISCONNECTING))
         return (EALREADY);
 
-    error = soconnect(so, (struct sockaddr *)sa, 0);
+    error = soconnect(so, (struct sockaddr *)&sa1, 0);
     if (error)
         goto bad;