From 0de93c34db1579c05c2ed1bc4442c285fc98d975 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Tue, 1 Oct 2024 15:35:50 +0200 Subject: [PATCH] s3:winbindd: make use of samba_sockaddr add_one_dc_unique() to avoid warnings MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit ../../source3/winbindd/winbindd_cm.c: In function ‘add_one_dc_unique’: ../../source3/winbindd/winbindd_cm.c:1172:48: warning: dereferencing type-punned pointer might break strict-aliasing rules [-Wstrict-aliasing] 1172 | (struct sockaddr *)(void *)&(*dcs)[i].ss, Signed-off-by: Stefan Metzmacher Reviewed-by: Andreas Schneider --- source3/winbindd/winbindd_cm.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/source3/winbindd/winbindd_cm.c b/source3/winbindd/winbindd_cm.c index ef7b70f400f..cffab6bd035 100644 --- a/source3/winbindd/winbindd_cm.c +++ b/source3/winbindd/winbindd_cm.c @@ -1072,11 +1072,14 @@ static bool add_one_dc_unique(TALLOC_CTX *mem_ctx, const char *domain_name, } /* Make sure there's no duplicates in the list */ - for (i=0; i<*num; i++) - if (sockaddr_equal( - (struct sockaddr *)(void *)&(*dcs)[i].ss, - (struct sockaddr *)(void *)pss)) + for (i=0; i<*num; i++) { + struct samba_sockaddr ss1 = { .u = { .ss = (*dcs)[i].ss, }}; + struct samba_sockaddr ss2 = { .u = { .ss = *pss, }}; + + if (sockaddr_equal(&ss1.u.sa, &ss2.u.sa)) { return False; + } + } *dcs = talloc_realloc(mem_ctx, *dcs, struct dc_name_ip, (*num)+1); -- 2.47.3