X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Flibsystemd-dhcp%2Fdhcp-network.c;h=b2de67e8a74d013f585b8eacc6b724eb05b64e01;hp=ce27f425c358418402ff36ac7e832af0b4807ddc;hb=c61be55d23f7603a986dc2937dd7f9aa390ae79c;hpb=234fc2dfce0e749f6e88301f2c82a3e54ccaa5fa diff --git a/src/libsystemd-dhcp/dhcp-network.c b/src/libsystemd-dhcp/dhcp-network.c index ce27f425c..b2de67e8a 100644 --- a/src/libsystemd-dhcp/dhcp-network.c +++ b/src/libsystemd-dhcp/dhcp-network.c @@ -34,6 +34,9 @@ int dhcp_network_bind_raw_socket(int index, union sockaddr_union *link) { int s; + assert(index > 0); + assert(link); + s = socket(AF_PACKET, SOCK_DGRAM | SOCK_CLOEXEC | SOCK_NONBLOCK, htons(ETH_P_IP)); if (s < 0) @@ -77,6 +80,10 @@ int dhcp_network_bind_udp_socket(int index, be32_t client_address) int dhcp_network_send_raw_socket(int s, const union sockaddr_union *link, const void *packet, size_t len) { + assert(link); + assert(packet); + assert(len); + if (sendto(s, packet, len, 0, &link->sa, sizeof(link->ll)) < 0) return -errno;