From 705f94687921695ce3ccca57ef6ec651c932e915 Mon Sep 17 00:00:00 2001 From: Remi Gacogne Date: Tue, 11 Oct 2022 14:16:35 +0200 Subject: [PATCH] dnsdist: Get rid of "magic" numbers when converting a network mask --- pdns/iputils.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) 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); } } -- 2.47.2