X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Flibsystemd%2Fsd-rtnl%2Frtnl-message.c;fp=src%2Flibsystemd%2Fsd-rtnl%2Frtnl-message.c;h=f072899433ec7440f72f0c1acf9a994b461fb7ce;hp=23253029e5fefbc4ed69e25fda18da24dd1bf339;hb=da53c5516e3807145a321df08b853d6f9f21c6fc;hpb=b621bfd2311a13311a45ccd5e31a9ce3214895fe diff --git a/src/libsystemd/sd-rtnl/rtnl-message.c b/src/libsystemd/sd-rtnl/rtnl-message.c index 23253029e..f07289943 100644 --- a/src/libsystemd/sd-rtnl/rtnl-message.c +++ b/src/libsystemd/sd-rtnl/rtnl-message.c @@ -1350,9 +1350,11 @@ static int socket_recv_message(int fd, struct iovec *iov, uint32_t *_group, bool log_debug("rtnl: no data in socket"); return (errno == EAGAIN || errno == EINTR) ? 0 : -errno; - } else if (r == 0) - /* connection was closed by the kernel */ - return -ECONNRESET; + } else if (r == 0) { + /* connection was closed by the kernel? */ + log_warning("rtnl: ignoring empty message"); + return 0; + } for (cmsg = CMSG_FIRSTHDR(&msg); cmsg; cmsg = CMSG_NXTHDR(&msg, cmsg)) { if (cmsg->cmsg_level == SOL_SOCKET &&