[28443] in CVS-changelog-for-Kerberos-V5
krb5 commit: Fix bugs in bindresvport_sa() changes
daemon@ATHENA.MIT.EDU (Tom Yu)
Wed Jul 2 17:18:01 2014
Date: Wed, 2 Jul 2014 17:17:56 -0400
From: Tom Yu <tlyu@mit.edu>
Message-Id: <201407022117.s62LHuN2025259@drugstore.mit.edu>
To: cvs-krb5@mit.edu
Reply-To: krbdev@mit.edu
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: cvs-krb5-bounces@mit.edu
https://github.com/krb5/krb5/commit/158a551b14b017d232066c4a053dc608d87fa172
commit 158a551b14b017d232066c4a053dc608d87fa172
Author: Tom Yu <tlyu@mit.edu>
Date: Wed Jul 2 16:13:23 2014 -0400
Fix bugs in bindresvport_sa() changes
In svctcp_create() and svcudp_bufcreate(), set sa->sa_len on platforms
where that field exists, so that a subsequent call to socklen() will
return the correct result.
To make the code more self-evidently correct, zero the entire struct
sockaddr_storage object, using the memset(&ss, 0, sizeof(ss)) idiom.
ticket: 7935
src/lib/rpc/svc_tcp.c | 5 ++++-
src/lib/rpc/svc_udp.c | 5 ++++-
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/src/lib/rpc/svc_tcp.c b/src/lib/rpc/svc_tcp.c
index 58f7b0e..7b69c33 100644
--- a/src/lib/rpc/svc_tcp.c
+++ b/src/lib/rpc/svc_tcp.c
@@ -159,8 +159,11 @@ svctcp_create(
}
set_cloexec_fd(sock);
madesock = TRUE;
- memset(sa, 0, sizeof(struct sockaddr_in));
+ memset(&ss, 0, sizeof(ss));
sa->sa_family = AF_INET;
+#ifdef HAVE_SA_LEN
+ sa->sa_len = sizeof(struct sockaddr_in);
+#endif
} else {
len = sizeof(struct sockaddr_storage);
if (getsockname(sock, sa, &len) != 0) {
diff --git a/src/lib/rpc/svc_udp.c b/src/lib/rpc/svc_udp.c
index 460472f..e9f1c3d 100644
--- a/src/lib/rpc/svc_udp.c
+++ b/src/lib/rpc/svc_udp.c
@@ -130,8 +130,11 @@ svcudp_bufcreate(
}
set_cloexec_fd(sock);
madesock = TRUE;
- memset(sa, 0, sizeof(struct sockaddr_in));
+ memset(&ss, 0, sizeof(ss));
sa->sa_family = AF_INET;
+#ifdef HAVE_SA_LEN
+ sa->sa_len = sizeof(struct sockaddr_in);
+#endif
} else {
len = sizeof(struct sockaddr_storage);
if (getsockname(sock, sa, &len) < 0) {
_______________________________________________
cvs-krb5 mailing list
cvs-krb5@mit.edu
https://mailman.mit.edu/mailman/listinfo/cvs-krb5