From bb76470090dc21540e70c3417fe0227c5a62cce2 Mon Sep 17 00:00:00 2001 From: Stefano Brivio Date: Tue, 5 Apr 2022 08:15:29 +0200 Subject: passt: Improper use of negative value (CWE-394) Reported by Coverity. Signed-off-by: Stefano Brivio --- passt.c | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) (limited to 'passt.c') diff --git a/passt.c b/passt.c index 06c3d73..8781a7f 100644 --- a/passt.c +++ b/passt.c @@ -421,13 +421,22 @@ int main(int argc, char **argv) pcap_init(&c); - if (!c.foreground) + if (!c.foreground) { /* NOLINTNEXTLINE(android-cloexec-open): see __daemon() */ - devnull_fd = open("/dev/null", O_RDWR); + if ((devnull_fd = open("/dev/null", O_RDWR)) < 0) { + perror("/dev/null open"); + exit(EXIT_FAILURE); + } + } - if (*c.pid_file) - pidfile_fd = open(c.pid_file, O_CREAT | O_WRONLY | O_CLOEXEC, - S_IRUSR | S_IWUSR); + if (*c.pid_file) { + if ((pidfile_fd = open(c.pid_file, + O_CREAT | O_WRONLY | O_CLOEXEC, + S_IRUSR | S_IWUSR)) < 0) { + perror("PID file open"); + exit(EXIT_FAILURE); + } + } if (sandbox(&c)) { err("Failed to sandbox process, exiting\n"); -- cgit v1.2.3