]> git.puffer.fish Git - mirror/frr.git/commitdiff
pimd: Ensure a 0 read fails cleanly
authorDonald Sharp <sharpd@cumulusnetworks.com>
Thu, 11 May 2017 00:04:02 +0000 (20:04 -0400)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Mon, 24 Jul 2017 17:51:34 +0000 (13:51 -0400)
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
pimd/pim_mroute.c

index 70dc38c714d194fc23596637bddee6d4ab15b0c2..bd9fbcf4251493a354fc902c9e55ca784cd893e1 100644 (file)
@@ -620,7 +620,7 @@ static int mroute_read(struct thread *t)
 
        while (cont) {
                rd = read(fd, buf, sizeof(buf));
-               if (rd < 0) {
+               if (rd <= 0) {
                        if (errno == EINTR)
                                continue;
                        if (errno == EWOULDBLOCK || errno == EAGAIN)
@@ -628,8 +628,8 @@ static int mroute_read(struct thread *t)
 
                        if (PIM_DEBUG_MROUTE)
                                zlog_warn(
-                                       "%s: failure reading fd=%d: errno=%d: %s",
-                                       __PRETTY_FUNCTION__, fd, errno,
+                                       "%s: failure reading rd=%d: fd=%d: errno=%d: %s",
+                                       __PRETTY_FUNCTION__, rd, fd, errno,
                                        safe_strerror(errno));
                        goto done;
                }