From: Remi Gacogne Date: Tue, 11 Oct 2022 12:16:35 +0000 (+0200) Subject: dnsdist: Get rid of "magic" numbers when converting a network mask X-Git-Tag: dnsdist-1.8.0-rc1~281^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=705f94687921695ce3ccca57ef6ec651c932e915;p=thirdparty%2Fpdns.git dnsdist: Get rid of "magic" numbers when converting a network mask --- diff --git a/pdns/iputils.cc b/pdns/iputils.cc index d9979b4de2..ea5180b856 100644 --- a/pdns/iputils.cc +++ b/pdns/iputils.cc @@ -591,7 +591,7 @@ std::vector getListOfAddressesOfNetworkInterface(const std::string #if HAVE_GETIFADDRS static uint8_t convertNetmaskToBits(const uint8_t* mask, socklen_t len) { - if (mask == nullptr || len > 128) { + if (mask == nullptr || len > 16) { throw std::runtime_error("Invalid parameters passed to convertNetmaskToBits"); } @@ -635,12 +635,12 @@ std::vector getListOfRangesOfNetworkInterface(const std::string& itf) if (ifa->ifa_addr->sa_family == AF_INET) { auto netmask = reinterpret_cast(ifa->ifa_netmask); - uint8_t maskBits = convertNetmaskToBits(reinterpret_cast(&netmask->sin_addr.s_addr), 4); + uint8_t maskBits = convertNetmaskToBits(reinterpret_cast(&netmask->sin_addr.s_addr), sizeof(netmask->sin_addr.s_addr)); result.emplace_back(addr, maskBits); } else if (ifa->ifa_addr->sa_family == AF_INET6) { auto netmask = reinterpret_cast(ifa->ifa_netmask); - uint8_t maskBits = convertNetmaskToBits(reinterpret_cast(&netmask->sin6_addr.s6_addr), 16); + uint8_t maskBits = convertNetmaskToBits(reinterpret_cast(&netmask->sin6_addr.s6_addr), sizeof(netmask->sin6_addr.s6_addr)); result.emplace_back(addr, maskBits); } }