From: Stefan Metzmacher Date: Tue, 1 Oct 2024 13:35:50 +0000 (+0200) Subject: s3:winbindd: make use of samba_sockaddr add_one_dc_unique() to avoid warnings X-Git-Tag: tdb-1.4.13~397 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=0de93c34db1579c05c2ed1bc4442c285fc98d975;p=thirdparty%2Fsamba.git s3:winbindd: make use of samba_sockaddr add_one_dc_unique() to avoid warnings ../../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 --- 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);