Thanks to Michał Kępień.
while (!(flags & RAW_EOF)) {
bytes = if_readrawpacket(ifp, ETHERTYPE_ARP,
arp_buffer, sizeof(arp_buffer), &flags);
- if (bytes == 0 || bytes == -1) {
+ if (bytes == -1) {
syslog(LOG_ERR, "%s: arp if_readrawpacket: %m",
ifp->name);
dhcp_close(ifp);
while (!(flags & RAW_EOF)) {
bytes = (size_t)if_readrawpacket(ifp, ETHERTYPE_IP,
ifp->ctx->packet, udp_dhcp_len, &flags);
- if (bytes == 0 || (ssize_t)bytes == -1) {
+ if ((ssize_t)bytes == -1) {
syslog(LOG_ERR, "%s: dhcp if_readrawpacket: %m",
ifp->name);
dhcp_close(ifp);
ctx = dhcpcd_ctx->ipv6;
ctx->rcvhdr.msg_controllen = CMSG_SPACE(sizeof(struct in6_pktinfo));
bytes = recvmsg(ctx->dhcp_fd, &ctx->rcvhdr, 0);
- if (bytes == -1 || bytes == 0) {
+ if (bytes == -1) {
syslog(LOG_ERR, "recvmsg: %m");
close(ctx->dhcp_fd);
eloop_event_delete(dhcpcd_ctx->eloop, ctx->dhcp_fd, 0);
ctx->rcvhdr.msg_controllen = CMSG_SPACE(sizeof(struct in6_pktinfo)) +
CMSG_SPACE(sizeof(int));
len = recvmsg(ctx->nd_fd, &ctx->rcvhdr, 0);
- if (len == -1 || len == 0) {
+ if (len == -1) {
syslog(LOG_ERR, "recvmsg: %m");
eloop_event_delete(dhcpcd_ctx->eloop, ctx->nd_fd, 0);
close(ctx->nd_fd);