← Commit list

c9cdeaa3f

Denis Vlasenko
Denis Vlasenko
2006-11-20
FAILED Duration: 3s

Subject

add compile-time check for correct DHCP packet size

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

networking/udhcp/packet.c+4 -0
@@ -109,6 +109,7 @@ uint16_t udhcp_checksum(void *addr, int count)
/* Construct a ip/udp header for a packet, and specify the source and dest hardware address */
+void BUG_sizeof_struct_udp_dhcp_packet_must_be_576(void);
int udhcp_raw_packet(struct dhcpMessage *payload,
uint32_t source_ip, int source_port,
uint32_t dest_ip, int dest_port, uint8_t *dest_arp, int ifindex)
@@ -154,6 +155,9 @@ int udhcp_raw_packet(struct dhcpMessage *payload,
packet.ip.ttl = IPDEFTTL;
packet.ip.check = udhcp_checksum(&(packet.ip), sizeof(packet.ip));
+ if (sizeof(struct udp_dhcp_packet) != 576)
+ BUG_sizeof_struct_udp_dhcp_packet_must_be_576();
+
result = sendto(fd, &packet, sizeof(struct udp_dhcp_packet), 0,
(struct sockaddr *) &dest, sizeof(dest));
if (result <= 0) {