id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 5198,64 bit issue in address_v4::broadcast() with to_ulong(),arvid@…,chris_kohlhoff,"In address_v4.ipp:144 142 address_v4 address_v4::broadcast(const address_v4& addr, const address_v4& mask) 143 { 144 return address_v4(addr.to_ulong() | ~mask.to_ulong()); 145 } On a 64 bit build, where long is 64 bit, inverting the mask will generate a very large number (all the upper bits will be set). Once passed into the constructor of address_v4(), this fails the bound check and throws an exception. You might want to make to_ulong() always return uint32_t, or cast here (and in that case probably inspect all other places where to_ulong() is used). Casting the return value from mask.to_ulong() to uint32_t before inverting it fixes this issue for me.",Bugs,closed,To Be Determined,asio,Boost 1.44.0,Problem,fixed,,