From 03f81fa2ddcd60a4bdc7ce78775554da2166fc70 Mon Sep 17 00:00:00 2001 From: Florian Forster Date: Tue, 8 Dec 2015 11:14:28 +0100 Subject: [PATCH] collectd, collectdmon: Store return value of open() and dup(). This is to make Coverity happy. CID: 38011, 38012 --- src/collectdmon.c | 10 +++++++--- src/daemon/collectd.c | 19 +++++++++++++------ 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/src/collectdmon.c b/src/collectdmon.c index 33f02b45..f2798eef 100644 --- a/src/collectdmon.c +++ b/src/collectdmon.c @@ -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; diff --git a/src/daemon/collectd.c b/src/daemon/collectd.c index 06125dce..7b324e1e 100644 --- a/src/daemon/collectd.c +++ b/src/daemon/collectd.c @@ -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) */ -- 2.11.0