From: Yu Watanabe Date: Thu, 2 Aug 2018 13:38:22 +0000 (+0900) Subject: resolve: fix error handling of dns_stream_read() X-Git-Tag: v240~869 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=99521cab7749c7009c9bb269cf94b7707cfbde48;p=thirdparty%2Fsystemd.git resolve: fix error handling of dns_stream_read() --- diff --git a/src/resolve/resolved-dns-stream.c b/src/resolve/resolved-dns-stream.c index 8c6f217ad96..c3ffc75930f 100644 --- a/src/resolve/resolved-dns-stream.c +++ b/src/resolve/resolved-dns-stream.c @@ -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