Fix out-of-bounds address_v4::broadcast() return value on 64-bit systems.
diff --git a/asio/include/asio/ip/impl/address_v4.ipp b/asio/include/asio/ip/impl/address_v4.ipp index ca42f18..b0e1c31 100644 --- a/asio/include/asio/ip/impl/address_v4.ipp +++ b/asio/include/asio/ip/impl/address_v4.ipp
@@ -140,7 +140,7 @@ address_v4 address_v4::broadcast(const address_v4& addr, const address_v4& mask) { - return address_v4(addr.to_ulong() | ~mask.to_ulong()); + return address_v4(addr.to_ulong() | (mask.to_ulong() ^ 0xFFFFFFFF)); } address_v4 address_v4::netmask(const address_v4& addr)