Skip to content

Commit 39da11d

Browse files
committed
LocalIP (BSD): fix build
1 parent 8b7a4da commit 39da11d

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

src/detection/localip/localip_linux.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,8 +111,9 @@ const char* ffDetectLocalIps(const FFLocalIpOptions* options, FFlist* results)
111111
{
112112
struct sockaddr_in6* netmask = (struct sockaddr_in6*) ifa->ifa_netmask;
113113
int cidr = 0;
114-
for (uint32_t i = 0; i < sizeof(netmask->sin6_addr.s6_addr32) / sizeof(netmask->sin6_addr.s6_addr32[0]); ++i)
115-
cidr += __builtin_popcount(netmask->sin6_addr.s6_addr32[i]);
114+
static_assert(sizeof(netmask->sin6_addr) % sizeof(uint64_t) == 0, "");
115+
for (uint32_t i = 0; i < sizeof(netmask->sin6_addr) / sizeof(uint64_t); ++i)
116+
cidr += __builtin_popcountll(((uint64_t*) &netmask->sin6_addr)[i]);
116117
if (cidr != 0)
117118
{
118119
size_t len = strlen(addressBuffer);

0 commit comments

Comments
 (0)