_cleanup_close_ int s = -1;
int r;
+ assert(filter);
+ assert(mreq);
+
s = socket(AF_INET6, SOCK_RAW | SOCK_CLOEXEC | SOCK_NONBLOCK, IPPROTO_ICMPV6);
if (s < 0)
return -errno;
- r = setsockopt(s, IPPROTO_ICMPV6, ICMP6_FILTER, filter, sizeof(*filter));
- if (r < 0)
+ if (setsockopt(s, IPPROTO_ICMPV6, ICMP6_FILTER, filter, sizeof(*filter)) < 0)
return -errno;
- r = setsockopt(s, IPPROTO_IPV6, IPV6_ADD_MEMBERSHIP, mreq, sizeof(*mreq));
- if (r < 0)
+ if (setsockopt(s, IPPROTO_IPV6, IPV6_ADD_MEMBERSHIP, mreq, sizeof(*mreq)) < 0)
return -errno;
/* RFC 3315, section 6.7, bullet point 2 may indicate that an
.msg_iov = &iov,
.msg_iovlen = 1,
};
- int r;
assert(s >= 0);
assert(ether_addr);
rs.rs_opt_mac = *ether_addr;
- r = sendmsg(s, &msg, 0);
- if (r < 0)
+ if (sendmsg(s, &msg, 0) < 0)
return -errno;
return 0;