diff options
-rw-r--r-- | src/libsystemd-network/dhcp-packet.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/libsystemd-network/dhcp-packet.c b/src/libsystemd-network/dhcp-packet.c index 9779cbd51d..3b62c2572f 100644 --- a/src/libsystemd-network/dhcp-packet.c +++ b/src/libsystemd-network/dhcp-packet.c @@ -130,6 +130,11 @@ int dhcp_packet_verify_headers(DHCPPacket *packet, size_t len, bool checksum) { return -EINVAL; } + if (packet->ip.version != IPVERSION) { + log_dhcp_client(client, "ignoring packet: not IPv4"); + return -EINVAL; + } + if (packet->ip.ihl < 5) { log_dhcp_client(client, "ignoring packet: IPv4 IHL (%u words) invalid", packet->ip.ihl); |