From: Patrik Flykt Date: Wed, 19 Mar 2014 12:38:59 +0000 (+0200) Subject: libsystemd-network: Don't unnecessarily send too long packets X-Git-Tag: v212~70 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=9d7bf1d58c2ce7f383f256a5beb1f5fc4ee843f5 libsystemd-network: Don't unnecessarily send too long packets Since the length used by options is known, send packets with no extra padding. --- diff --git a/src/libsystemd-network/sd-dhcp-client.c b/src/libsystemd-network/sd-dhcp-client.c index 1a57939bb..9052b8460 100644 --- a/src/libsystemd-network/sd-dhcp-client.c +++ b/src/libsystemd-network/sd-dhcp-client.c @@ -315,7 +315,7 @@ static int client_send_discover(sd_dhcp_client *client, uint16_t secs) { if (err < 0) return err; - err = dhcp_client_send_raw(client, discover, len); + err = dhcp_client_send_raw(client, discover, len - optlen); if (err < 0) return err; @@ -385,9 +385,9 @@ static int client_send_request(sd_dhcp_client *client, uint16_t secs) { client->lease->server_address, DHCP_PORT_SERVER, &request->dhcp, - len - DHCP_IP_UDP_SIZE); + len - optlen - DHCP_IP_UDP_SIZE); } else { - err = dhcp_client_send_raw(client, request, len); + err = dhcp_client_send_raw(client, request, len - optlen); } if (err < 0) return err;