diff --git a/ctdb/server/ctdb_logging.c b/ctdb/server/ctdb_logging.c index 129bdc9e7f6..a72d8bf8443 100644 --- a/ctdb/server/ctdb_logging.c +++ b/ctdb/server/ctdb_logging.c @@ -269,9 +269,14 @@ int ctdb_set_child_logging(struct ctdb_context *ctdb) /* We'll fail if stderr/stdout not already open; it's simpler. */ old_stdout = dup(STDOUT_FILENO); + if (old_stdout < 0) { + DEBUG(DEBUG_ERR, ("Failed to dup stdout for child logging\n")); + return -1; + } old_stderr = dup(STDERR_FILENO); - if (old_stdout < 0 || old_stderr < 0) { - DEBUG(DEBUG_ERR, ("Failed to dup stdout/stderr for child logging\n")); + if (old_stderr < 0) { + DEBUG(DEBUG_ERR, ("Failed to dup stderr for child logging\n")); + close(old_stdout); return -1; } if (dup2(p[1], STDOUT_FILENO) < 0 || dup2(p[1], STDERR_FILENO) < 0) {