]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
resolve: fix error handling of dns_stream_read()
authorYu Watanabe <watanabe.yu+github@gmail.com>
Thu, 2 Aug 2018 13:38:22 +0000 (22:38 +0900)
committerLennart Poettering <lennart@poettering.net>
Thu, 2 Aug 2018 15:06:32 +0000 (17:06 +0200)
src/resolve/resolved-dns-stream.c

index 8c6f217ad96d23f80b8205f86a508d2380d313ba..c3ffc75930f14324b38d802f7d040f1e7d40d9fc 100644 (file)
@@ -391,8 +391,8 @@ static int on_stream_io(sd_event_source *es, int fd, uint32_t revents, void *use
                                           (uint8_t*) DNS_PACKET_DATA(s->read_packet) + s->n_read - sizeof(s->read_size),
                                           sizeof(s->read_size) + be16toh(s->read_size) - s->n_read);
                                 if (ss < 0) {
-                                        if (!IN_SET(errno, EINTR, EAGAIN))
-                                                return dns_stream_complete(s, errno);
+                                        if (!IN_SET(-ss, EINTR, EAGAIN))
+                                                return dns_stream_complete(s, -ss);
                                 } else if (ss == 0)
                                         return dns_stream_complete(s, ECONNRESET);
                                 else