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:
parent
0bc7a22d93
commit
14f37112c8
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue