Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 26 Jul 2017 16:44:24 +0000 (UTC)
From:      Hans Petter Selasky <hselasky@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r321551 - projects/bsd_rdma_4_9/sys/contrib/rdma/krping
Message-ID:  <201707261644.v6QGiO9b076790@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: hselasky
Date: Wed Jul 26 16:44:24 2017
New Revision: 321551
URL: https://svnweb.freebsd.org/changeset/base/321551

Log:
  Set length of socket address in krping(). Else sobind() will fail with EINVAL.
  
  Submitted by:	Chelsio
  Sponsored by:	Mellanox Technologies

Modified:
  projects/bsd_rdma_4_9/sys/contrib/rdma/krping/krping.c

Modified: projects/bsd_rdma_4_9/sys/contrib/rdma/krping/krping.c
==============================================================================
--- projects/bsd_rdma_4_9/sys/contrib/rdma/krping/krping.c	Wed Jul 26 16:44:08 2017	(r321550)
+++ projects/bsd_rdma_4_9/sys/contrib/rdma/krping/krping.c	Wed Jul 26 16:44:24 2017	(r321551)
@@ -1375,11 +1375,13 @@ static void fill_sockaddr(struct sockaddr_storage *sin
 
 	if (cb->addr_type == AF_INET) {
 		struct sockaddr_in *sin4 = (struct sockaddr_in *)sin;
+		sin4->sin_len = sizeof(*sin4);
 		sin4->sin_family = AF_INET;
 		memcpy((void *)&sin4->sin_addr.s_addr, cb->addr, 4);
 		sin4->sin_port = cb->port;
 	} else if (cb->addr_type == AF_INET6) {
 		struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *)sin;
+		sin6->sin6_len = sizeof(*sin6);
 		sin6->sin6_family = AF_INET6;
 		memcpy((void *)&sin6->sin6_addr, cb->addr, 16);
 		sin6->sin6_port = cb->port;



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