../../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 <metze@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
}
/* 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);