[libvirt] [PATCH 08/26] virfile: Resolve Coverity DEADCODE

John Ferlan jferlan at redhat.com
Thu Sep 4 22:26:16 UTC 2014


Adjust the parentheses in/for the waitpid loops; otherwise, Coverity
points out:

(1) Event assignment:   Assigning: "waitret" = "waitpid(pid, &status, 0) == -1"
(2) Event between:      At condition "waitret == -1", the value of "waitret"
                        must be between 0 and 1.
(3) Event dead_error_condition:     The condition "waitret == -1" cannot
                        be true.
(4) Event dead_error_begin:     Execution cannot reach this statement:
                        "ret = -*__errno_location();".

Signed-off-by: John Ferlan <jferlan at redhat.com>
---
 src/util/virfile.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/src/util/virfile.c b/src/util/virfile.c
index cfb6cc1..b602144 100644
--- a/src/util/virfile.c
+++ b/src/util/virfile.c
@@ -2072,8 +2072,7 @@ virFileOpenForked(const char *path, int openflags, mode_t mode,
     }
 
     /* wait for child to complete, and retrieve its exit code */
-    while ((waitret = waitpid(pid, &status, 0) == -1)
-           && (errno == EINTR));
+    while ((waitret = waitpid(pid, &status, 0)) == -1 && (errno == EINTR));
     if (waitret == -1) {
         ret = -errno;
         virReportSystemError(errno,
@@ -2290,7 +2289,7 @@ virDirCreate(const char *path,
     if (pid) { /* parent */
         /* wait for child to complete, and retrieve its exit code */
         VIR_FREE(groups);
-        while ((waitret = waitpid(pid, &status, 0) == -1)  && (errno == EINTR));
+        while ((waitret = waitpid(pid, &status, 0)) == -1 && (errno == EINTR));
         if (waitret == -1) {
             ret = -errno;
             virReportSystemError(errno,
-- 
1.9.3




More information about the libvir-list mailing list