The error will occur if log files are defined in /etc/syslog.conf
but are then deleted manually by the administrator.

I think the right answer is to add a file test inside the loop and
skip any that can't be stat()'ed:

diff -u syslogd-listfiles.orig syslogd-listfiles
--- syslogd-listfiles.orig      2008-06-20 06:08:11.000000000 -0400
+++ syslogd-listfiles   2009-08-03 12:05:00.000000000 -0400
@@ -126,6 +126,7 @@
        $output{$file} = 1 if ($pat =~ /auth[^\.]*\.(?!none).*/);
     } else {
        my $everything = ($pat =~ /\*\.\*/);
+       if (! -f $file) { next; };
        $output{$file} = 1 if (($everything && $opt_daily)
                               || (!$everything && !$opt_daily && !rotated 
($file))
                               || (!$opt_ign_size && ((stat $file)[7] >= 
$opt_large) && $opt_daily)

Reto
-- 
R A Lichtensteiger      r...@tifosi.com

           "Never underestimate the powers of a Dark Clown!"
                                        - Darph Bobo



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to