From: Yu Watanabe Date: Wed, 16 Feb 2022 15:49:21 +0000 (+0900) Subject: sd-dhcp-server: do not offer server address X-Git-Tag: v251-rc1~272 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9e0cb8b61f46a2164290a2380db89e45876b370c;p=thirdparty%2Fsystemd.git sd-dhcp-server: do not offer server address The server address may be in the pool. --- diff --git a/src/libsystemd-network/sd-dhcp-server.c b/src/libsystemd-network/sd-dhcp-server.c index 80638992328..81dc4ff9504 100644 --- a/src/libsystemd-network/sd-dhcp-server.c +++ b/src/libsystemd-network/sd-dhcp-server.c @@ -797,6 +797,9 @@ static bool address_is_in_pool(sd_dhcp_server *server, be32_t address) { if (server->pool_size == 0) return false; + if (address == server->address) + return false; + if (be32toh(address) < (be32toh(server->subnet) | server->pool_offset) || be32toh(address) >= (be32toh(server->subnet) | (server->pool_offset + server->pool_size))) return false;