File tree Expand file tree Collapse file tree 1 file changed +7
-4
lines changed Expand file tree Collapse file tree 1 file changed +7
-4
lines changed Original file line number Diff line number Diff line change @@ -590,14 +590,17 @@ static int execute(struct sockaddr *addr)
590
590
static int addrcmp (const struct sockaddr_storage * s1 ,
591
591
const struct sockaddr_storage * s2 )
592
592
{
593
- if (s1 -> ss_family != s2 -> ss_family )
594
- return s1 -> ss_family - s2 -> ss_family ;
595
- if (s1 -> ss_family == AF_INET )
593
+ const struct sockaddr * sa1 = (const struct sockaddr * ) s1 ;
594
+ const struct sockaddr * sa2 = (const struct sockaddr * ) s2 ;
595
+
596
+ if (sa1 -> sa_family != sa2 -> sa_family )
597
+ return sa1 -> sa_family - sa2 -> sa_family ;
598
+ if (sa1 -> sa_family == AF_INET )
596
599
return memcmp (& ((struct sockaddr_in * )s1 )-> sin_addr ,
597
600
& ((struct sockaddr_in * )s2 )-> sin_addr ,
598
601
sizeof (struct in_addr ));
599
602
#ifndef NO_IPV6
600
- if (s1 -> ss_family == AF_INET6 )
603
+ if (sa1 -> sa_family == AF_INET6 )
601
604
return memcmp (& ((struct sockaddr_in6 * )s1 )-> sin6_addr ,
602
605
& ((struct sockaddr_in6 * )s2 )-> sin6_addr ,
603
606
sizeof (struct in6_addr ));
You can’t perform that action at this time.
0 commit comments