From: Tobias Brunner Date: Wed, 15 Nov 2017 13:35:42 +0000 (+0100) Subject: charon: Explicitly check return value of fileno() X-Git-Tag: 5.6.1~11 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=42353849cb144a5310c7153147d1624b1593ce8d;p=thirdparty%2Fstrongswan.git charon: Explicitly check return value of fileno() This is mainly for Coverity because fchown() can't take a negative value, which the -1 check implies is possible. --- diff --git a/src/charon-tkm/src/charon-tkm.c b/src/charon-tkm/src/charon-tkm.c index 1941e74070..7f014237a4 100644 --- a/src/charon-tkm/src/charon-tkm.c +++ b/src/charon-tkm/src/charon-tkm.c @@ -211,7 +211,12 @@ static bool check_pidfile() int fd; fd = fileno(pidfile); - if (fd == -1 || fcntl(fd, F_SETFD, FD_CLOEXEC) == -1) + if (fd == -1) + { + DBG1(DBG_DMN, "unable to determine fd for '%s'", pidfile_name); + return TRUE; + } + if (fcntl(fd, F_SETFD, FD_CLOEXEC) == -1) { DBG1(DBG_LIB, "setting FD_CLOEXEC for '%s' failed: %s", pidfile_name, strerror(errno)); diff --git a/src/charon/charon.c b/src/charon/charon.c index 5d866ee0db..f23717034f 100644 --- a/src/charon/charon.c +++ b/src/charon/charon.c @@ -221,7 +221,12 @@ static bool check_pidfile() int fd; fd = fileno(pidfile); - if (fd == -1 || fcntl(fd, F_SETFD, FD_CLOEXEC) == -1) + if (fd == -1) + { + DBG1(DBG_DMN, "unable to determine fd for '"PID_FILE"'"); + return TRUE; + } + if (fcntl(fd, F_SETFD, FD_CLOEXEC) == -1) { DBG1(DBG_LIB, "setting FD_CLOEXEC for '"PID_FILE"' failed: %s", strerror(errno));