util: fix server log fd validity checks 97/11797/13
authorMichael Meffie <mmeffie@sinenomine.net>
Thu, 12 Mar 2015 22:12:06 +0000 (18:12 -0400)
committerBenjamin Kaduk <kaduk@mit.edu>
Mon, 25 Apr 2016 04:02:33 +0000 (00:02 -0400)
Do not assume the server log file descriptor cannot be zero.

Thanks to Chas Williams for spotting this bug.

Change-Id: I0d264828926bf8cd765b45db4e529233b8686404
Reviewed-on: https://gerrit.openafs.org/11797
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
Tested-by: BuildBot <buildbot@rampaginggeek.com>

src/util/serverLog.c

index 0f203b2..fb4862f 100644 (file)
@@ -86,7 +86,7 @@ void
 WriteLogBuffer(char *buf, afs_uint32 len)
 {
     LOCK_SERVERLOG();
-    if (serverLogFD > 0) {
+    if (serverLogFD >= 0) {
        if (write(serverLogFD, buf, len) < 0)
            ; /* don't care */
     }
@@ -132,7 +132,7 @@ vFSLog(const char *format, va_list args)
        syslog(LOG_INFO, "%s", info);
     } else
 #endif
-    if (serverLogFD > 0) {
+    if (serverLogFD >= 0) {
        if (write(serverLogFD, tbuffer, len) < 0)
            ; /* don't care */
     }
@@ -420,10 +420,10 @@ ReOpenLog(const char *fileName)
 #endif
 
     LOCK_SERVERLOG();
-    if (serverLogFD > 0)
+    if (serverLogFD >= 0)
        close(serverLogFD);
     serverLogFD = open(fileName, O_WRONLY | O_APPEND | O_CREAT | (isfifo?O_NONBLOCK:0), 0666);
-    if (serverLogFD > 0) {
+    if (serverLogFD >= 0) {
        if (freopen(fileName, "a", stdout) == NULL)
            ; /* don't care */
        if (freopen(fileName, "a", stderr) != NULL) {