From: Stephan Bosch Date: Mon, 30 Sep 2019 08:30:24 +0000 (+0200) Subject: iputils.hh: Netmask: Prevent the construction of a 128-bit IPv4 netmask. X-Git-Tag: auth-4.3.0-beta2~20^2~17 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e2b91d3c267f156bc84afb338eb33345acc79360;p=thirdparty%2Fpdns.git iputils.hh: Netmask: Prevent the construction of a 128-bit IPv4 netmask. --- diff --git a/pdns/iputils.hh b/pdns/iputils.hh index 2c453071f6..f3537e042f 100644 --- a/pdns/iputils.hh +++ b/pdns/iputils.hh @@ -423,10 +423,8 @@ public: Netmask(const ComboAddress& network, uint8_t bits=0xff): d_network(network) { d_network.sin4.sin_port=0; - if(bits > 128) - bits = (network.sin4.sin_family == AF_INET) ? 32 : 128; + d_bits = (network.isIPv4() ? std::min(bits, (uint8_t)32) : std::min(bits, (uint8_t)128)); - d_bits = bits; if(d_bits<32) d_mask=~(0xFFFFFFFF>>d_bits); else