From: Yu Watanabe Date: Wed, 8 Nov 2023 04:15:00 +0000 (+0900) Subject: sd-dhcp-client: move packet size check to dhcp_packet_verify_headers() X-Git-Tag: v255-rc2~81^2~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a57dd1d13ff96022b76fe2a7f7e5be538cf526a1;p=thirdparty%2Fsystemd.git sd-dhcp-client: move packet size check to dhcp_packet_verify_headers() No functional change. --- diff --git a/src/libsystemd-network/dhcp-packet.c b/src/libsystemd-network/dhcp-packet.c index 78eb36c7337..75b1d7e6cc7 100644 --- a/src/libsystemd-network/dhcp-packet.c +++ b/src/libsystemd-network/dhcp-packet.c @@ -129,7 +129,9 @@ int dhcp_packet_verify_headers(DHCPPacket *packet, size_t len, bool checksum, ui size_t hdrlen; assert(packet); - assert(len >= sizeof(DHCPPacket)); + + if (len < sizeof(DHCPPacket)) + return 0; /* IP */ diff --git a/src/libsystemd-network/sd-dhcp-client.c b/src/libsystemd-network/sd-dhcp-client.c index 3f2e0e3ded3..2a0d7bf853b 100644 --- a/src/libsystemd-network/sd-dhcp-client.c +++ b/src/libsystemd-network/sd-dhcp-client.c @@ -2211,8 +2211,6 @@ static int client_receive_message_raw( log_dhcp_client_errno(client, len, "Could not receive message from raw socket, ignoring: %m"); return 0; } - if ((size_t) len < sizeof(DHCPPacket)) - return 0; cmsg = cmsg_find(&msg, SOL_PACKET, PACKET_AUXDATA, CMSG_LEN(sizeof(struct tpacket_auxdata))); if (cmsg) {