From 9e0cb8b61f46a2164290a2380db89e45876b370c Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Thu, 17 Feb 2022 00:49:21 +0900 Subject: sd-dhcp-server: do not offer server address The server address may be in the pool. --- src/libsystemd-network/sd-dhcp-server.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/libsystemd-network/sd-dhcp-server.c') diff --git a/src/libsystemd-network/sd-dhcp-server.c b/src/libsystemd-network/sd-dhcp-server.c index 8063899232..81dc4ff950 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; -- cgit v1.2.1