From: Remi Gacogne Date: Fri, 7 Oct 2022 16:01:03 +0000 (+0200) Subject: dnsdist: Apply Charles-Henri's suggestions (thanks!) X-Git-Tag: dnsdist-1.8.0-rc1~285^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=refs%2Fpull%2F11994%2Fhead;p=thirdparty%2Fpdns.git dnsdist: Apply Charles-Henri's suggestions (thanks!) --- diff --git a/pdns/dnsdistdist/dnsdist-lua-bindings-network.cc b/pdns/dnsdistdist/dnsdist-lua-bindings-network.cc index 5d95a892de..3d2c21c4fb 100644 --- a/pdns/dnsdistdist/dnsdist-lua-bindings-network.cc +++ b/pdns/dnsdistdist/dnsdist-lua-bindings-network.cc @@ -61,7 +61,7 @@ void setupLuaBindingsNetwork(LuaContext& luaCtx, bool client) }); luaCtx.registerFunction::*)(const std::string&, uint16_t, std::function)>("addUnixListeningEndpoint", [client](std::shared_ptr& listener, const std::string& path, uint16_t endpointID, std::function cb) { - if (client) { + if (client || !cb) { return false; } diff --git a/pdns/iputils.cc b/pdns/iputils.cc index e28927d1e4..1c25ae5615 100644 --- a/pdns/iputils.cc +++ b/pdns/iputils.cc @@ -591,6 +591,10 @@ std::vector getListOfAddressesOfNetworkInterface(const std::string #if HAVE_GETIFADDRS static uint8_t convertNetmaskToBits(const struct in_addr* mask, socklen_t len) { + if (mask == nullptr || len > 128) { + throw std::runtime_error("Invalid parameters passed to convertNetmaskToBits"); + } + uint8_t result = 0; // for all bytes in the address (4 for IPv4, 16 for IPv6) for (size_t idx = 0; idx < len; idx++) {