icmp6-util: stop ignoring EAGAIN and EINTR in icmp6_receive

The code handling the errors was originally part of ndisc_recv, which,
being an event handler, would be simply turned off if it returned a negative
error code. It's no longer necessary. Plus, it helps avoid passing
an uninitialized value to radv_send.

Closes https://github.com/systemd/systemd/issues/10223.
This commit is contained in:
Evgeny Vereshchagin 2018-10-01 22:37:17 +00:00 committed by Lennart Poettering
parent 0bc7a22d93
commit 14f37112c8
1 changed files with 1 additions and 5 deletions

View File

@ -174,12 +174,8 @@ int icmp6_receive(int fd, void *buffer, size_t size, struct in6_addr *dst,
iov.iov_len = size;
len = recvmsg(fd, &msg, MSG_DONTWAIT);
if (len < 0) {
if (IN_SET(errno, EAGAIN, EINTR))
return 0;
if (len < 0)
return -errno;
}
if ((size_t) len != size)
return -EINVAL;