From: Tom Gundersen Date: Sun, 16 Feb 2014 22:28:19 +0000 (+0100) Subject: sd-dhcp: silently ignore malformed packets X-Git-Tag: v209~109 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=9fadd4cabf57285e58272ddb75147d8d52d4c5a9 sd-dhcp: silently ignore malformed packets This fixes a regression introduced in e5002702. --- diff --git a/src/libsystemd-dhcp/sd-dhcp-client.c b/src/libsystemd-dhcp/sd-dhcp-client.c index 83d56a244..d58755a60 100644 --- a/src/libsystemd-dhcp/sd-dhcp-client.c +++ b/src/libsystemd-dhcp/sd-dhcp-client.c @@ -710,11 +710,11 @@ static int client_handle_message(sd_dhcp_client *client, DHCPMessage *message, assert(message); if (be32toh(message->xid) != client->xid) - return -EINVAL; + return 0; if (memcmp(&message->chaddr[0], &client->mac_addr.ether_addr_octet, ETHER_ADDR_LEN)) - return -EINVAL; + return 0; switch (client->state) { case DHCP_STATE_SELECTING: @@ -843,7 +843,7 @@ static int client_receive_message_udp(sd_event_source *s, int fd, r = dhcp_packet_verify_headers(packet, BOOTREPLY, len); if (r < 0) - return r; + return 0; len -= DHCP_IP_UDP_SIZE;