From 7e78d275424db52544ee550ad0993c38d08d30a8 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Wed, 12 Feb 2020 15:42:28 +0100 Subject: [PATCH] gensec: Fix CID 1458419 Control flow issues (NO_EFFECT) socklen_t can be unsigned Signed-off-by: Volker Lendecke Reviewed-by: Stefan Metzmacher Autobuild-User(master): Stefan Metzmacher Autobuild-Date(master): Fri Feb 14 13:42:26 UTC 2020 on sn-devel-184 --- source4/auth/gensec/gensec_krb5.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/source4/auth/gensec/gensec_krb5.c b/source4/auth/gensec/gensec_krb5.c index dbc9bad8c08..866ecc82133 100644 --- a/source4/auth/gensec/gensec_krb5.c +++ b/source4/auth/gensec/gensec_krb5.c @@ -145,15 +145,17 @@ static NTSTATUS gensec_krb5_start(struct gensec_security *gensec_security, bool tlocal_addr = gensec_get_local_address(gensec_security); if (tlocal_addr) { + ssize_t sockaddr_ret; struct samba_sockaddr addr; bool ok; - addr.sa_socklen = tsocket_address_bsd_sockaddr( + sockaddr_ret = tsocket_address_bsd_sockaddr( tlocal_addr, &addr.u.sa, sizeof(addr.u.sa)); - if (addr.sa_socklen < 0) { + if (sockaddr_ret < 0) { talloc_free(gensec_krb5_state); return NT_STATUS_INTERNAL_ERROR; } + addr.sa_socklen = sockaddr_ret; ok = smb_krb5_sockaddr_to_kaddr(&addr.u.ss, &my_krb5_addr); if (!ok) { DBG_WARNING("smb_krb5_sockaddr_to_kaddr (local) failed\n"); @@ -164,15 +166,17 @@ static NTSTATUS gensec_krb5_start(struct gensec_security *gensec_security, bool tremote_addr = gensec_get_remote_address(gensec_security); if (tremote_addr) { + ssize_t sockaddr_ret; struct samba_sockaddr addr; bool ok; - addr.sa_socklen = tsocket_address_bsd_sockaddr( + sockaddr_ret = tsocket_address_bsd_sockaddr( tremote_addr, &addr.u.sa, sizeof(addr.u.sa)); - if (addr.sa_socklen < 0) { + if (sockaddr_ret < 0) { talloc_free(gensec_krb5_state); return NT_STATUS_INTERNAL_ERROR; } + addr.sa_socklen = sockaddr_ret; ok = smb_krb5_sockaddr_to_kaddr(&addr.u.ss, &peer_krb5_addr); if (!ok) { DBG_WARNING("smb_krb5_sockaddr_to_kaddr (remote) failed\n"); -- 2.34.1