diff -up logrotate-3.7.6/logrotate.c.fdclose logrotate-3.7.6/logrotate.c --- logrotate-3.7.6/logrotate.c.fdclose 2008-04-21 11:49:57.000000000 +0200 +++ logrotate-3.7.6/logrotate.c 2008-04-21 11:53:08.000000000 +0200 @@ -935,6 +935,9 @@ int rotateSingleLog(logInfo * log, int l if (oldContext != NULL) { freecon(oldContext); } + if (close(fdcurr) < 0) + message(MESS_ERROR, "error closing file %s", + log->files[logNum]); return 1; } } @@ -946,6 +949,9 @@ int rotateSingleLog(logInfo * log, int l if (oldContext != NULL) { freecon(oldContext); } + if (close(fdcurr) < 0) + message(MESS_ERROR, "error closing file %s", + log->files[logNum]); return 1; } } @@ -959,10 +965,16 @@ int rotateSingleLog(logInfo * log, int l message(MESS_ERROR, "getting file context %s: %s\n", log->files[logNum], strerror(errno)); if (selinux_enforce) { + if (close(fdcurr) < 0) + message(MESS_ERROR, "error closing file %s", + log->files[logNum]); return 1; } } } + if (close(fdcurr) < 0) + message(MESS_ERROR, "error closing file %s", + log->files[logNum]); } #endif message(MESS_DEBUG, "renaming %s to %s\n", log->files[logNum],