libmultipath: Fix POLLIN checks
authorBart Van Assche <bart.vanassche@sandisk.com>
Fri, 21 Oct 2016 18:43:11 +0000 (11:43 -0700)
committerChristophe Varoqui <christophe.varoqui@opensvc.com>
Thu, 3 Nov 2016 13:33:44 +0000 (14:33 +0100)
Instead of testing (pfd.revents == 0) & 1, test whether
(pfd.revents & 1) == 0.

This has been detected by the sparse static analyzer.

Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
libmpathcmd/mpath_cmd.c
libmultipath/uxsock.c

index 667a2dc..d9c5790 100644 (file)
@@ -31,7 +31,7 @@ static ssize_t read_all(int fd, void *buf, size_t len, unsigned int timeout)
                        if (errno == EINTR)
                                continue;
                        return -1;
-               } else if (!pfd.revents & POLLIN)
+               } else if (!(pfd.revents & POLLIN))
                        continue;
                n = recv(fd, buf, len, 0);
                if (n < 0) {
index 880257f..b158a56 100644 (file)
@@ -116,7 +116,7 @@ ssize_t read_all(int fd, void *buf, size_t len, unsigned int timeout)
                        if (errno == EINTR)
                                continue;
                        return -errno;
-               } else if (!pfd.revents & POLLIN)
+               } else if (!(pfd.revents & POLLIN))
                        continue;
                n = read(fd, buf, len);
                if (n < 0) {