diff --git a/src/os/win32/win32_sigar.c b/src/os/win32/win32_sigar.c index e752e1bd..02fed1f2 100644 --- a/src/os/win32/win32_sigar.c +++ b/src/os/win32/win32_sigar.c @@ -2400,15 +2400,16 @@ sigar_net_interface_config_get(sigar_t *sigar, ipaddr->dwMask); if (ifr->dwType != MIB_IF_TYPE_LOOPBACK) { - long bcast = ipaddr->dwAddr & ipaddr->dwMask; - if (ipaddr->dwBCastAddr) { + long bcast = + ipaddr->dwAddr & ipaddr->dwMask; + bcast |= ~ipaddr->dwMask; ifconfig->flags |= SIGAR_IFF_BROADCAST; - } - sigar_net_address_set(ifconfig->broadcast, - bcast); + sigar_net_address_set(ifconfig->broadcast, + bcast); + } } }