collectd, collectdmon: Store return value of open() and dup().
authorFlorian Forster <octo@collectd.org>
Tue, 8 Dec 2015 10:14:28 +0000 (11:14 +0100)
committerFlorian Forster <octo@collectd.org>
Tue, 8 Dec 2015 10:14:28 +0000 (11:14 +0100)
This is to make Coverity happy.

CID: 38011, 38012

src/collectdmon.c
src/daemon/collectd.c

index 33f02b4..f2798ee 100644 (file)
@@ -119,6 +119,7 @@ static int pidfile_delete (void)
 static int daemonize (void)
 {
        struct rlimit rl;
+       int status;
 
        pid_t pid = 0;
        int   i   = 0;
@@ -153,21 +154,24 @@ static int daemonize (void)
                close (i);
 
        errno = 0;
-       if (open ("/dev/null", O_RDWR) != 0) {
+       status = open ("/dev/null", O_RDWR);
+       if (status != 0) {
                syslog (LOG_ERR, "Error: couldn't connect STDIN to /dev/null: %s",
                                strerror (errno));
                return -1;
        }
 
        errno = 0;
-       if (dup (0) != 1) {
+       status = dup (0);
+       if (status != 1) {
                syslog (LOG_ERR, "Error: couldn't connect STDOUT to /dev/null: %s",
                                strerror (errno));
                return -1;
        }
 
        errno = 0;
-       if (dup (0) != 2) {
+       status = dup (0);
+       if (status != 2) {
                syslog (LOG_ERR, "Error: couldn't connect STDERR to /dev/null: %s",
                                strerror (errno));
                return -1;
index 06125dc..7b324e1 100644 (file)
@@ -638,6 +638,8 @@ int main (int argc, char **argv)
 #endif
        )
        {
+               int status;
+
                if ((pid = fork ()) == -1)
                {
                        /* error */
@@ -666,19 +668,24 @@ int main (int argc, char **argv)
                close (1);
                close (0);
 
-               if (open ("/dev/null", O_RDWR) != 0)
+               status = open ("/dev/null", O_RDWR);
+               if (status != 0)
                {
-                       ERROR ("Error: Could not connect `STDIN' to `/dev/null'");
+                       ERROR ("Error: Could not connect `STDIN' to `/dev/null' (status %d)", status);
                        return (1);
                }
-               if (dup (0) != 1)
+
+               status = dup (0);
+               if (status != 1)
                {
-                       ERROR ("Error: Could not connect `STDOUT' to `/dev/null'");
+                       ERROR ("Error: Could not connect `STDOUT' to `/dev/null' (status %d)", status);
                        return (1);
                }
-               if (dup (0) != 2)
+
+               status = dup (0);
+               if (status != 2)
                {
-                       ERROR ("Error: Could not connect `STDERR' to `/dev/null'");
+                       ERROR ("Error: Could not connect `STDERR' to `/dev/null', (status %d)", status);
                        return (1);
                }
        } /* if (daemonize) */