From: Yu Watanabe Date: Tue, 19 Oct 2021 11:23:47 +0000 (+0900) Subject: dhcp: fix assertions X-Git-Tag: v250-rc1~457^2~3 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b8319d748f1d03ff1524e63f8c0c42c838fd8486;p=thirdparty%2Fsystemd.git dhcp: fix assertions --- diff --git a/src/libsystemd-network/dhcp-network.c b/src/libsystemd-network/dhcp-network.c index 0e3814c6baa..ae802f84b7d 100644 --- a/src/libsystemd-network/dhcp-network.c +++ b/src/libsystemd-network/dhcp-network.c @@ -212,9 +212,12 @@ int dhcp_network_bind_udp_socket(int ifindex, be32_t address, uint16_t port, int int dhcp_network_send_raw_socket(int s, const union sockaddr_union *link, const void *packet, size_t len) { + /* Do not add assert(s >= 0) here, as this is called in fuzz-dhcp-server, and in that case this + * function should fail with negative errno. */ + assert(link); assert(packet); - assert(len); + assert(len > 0); if (sendto(s, packet, len, 0, &link->sa, SOCKADDR_LL_LEN(link->ll)) < 0) return -errno; @@ -232,7 +235,7 @@ int dhcp_network_send_udp_socket(int s, be32_t address, uint16_t port, assert(s >= 0); assert(packet); - assert(len); + assert(len > 0); if (sendto(s, packet, len, 0, &dest.sa, sizeof(dest.in)) < 0) return -errno;