diff --git a/vfs/ChangeLog b/vfs/ChangeLog index c8732fa1e..15d71e631 100644 --- a/vfs/ChangeLog +++ b/vfs/ChangeLog @@ -1,3 +1,7 @@ +2002-12-24 Adam Byrtek + + * extfs/apt.in, extfs/dpkg.in: Avoid stat on non-existing file. + 2002-12-20 Andrew V. Samoilov * smbfs.c: Resurrect and use myumask for generated permissions. diff --git a/vfs/extfs/apt.in b/vfs/extfs/apt.in index 63ad807f3..553045810 100644 --- a/vfs/extfs/apt.in +++ b/vfs/extfs/apt.in @@ -93,10 +93,13 @@ sub fm sub ls { my ($file,$path,$mode) = @_; - my @stat = stat($file); - # mode, nlink, uid, gid, size, mtime, filename - printf "%s %d %d %d %d %s %s\n", $mode || ft($file).fm($stat[2] & 07777), - $stat[3], $stat[4], $stat[5], $stat[7], bt($stat[9]), $path; + + if (-f $file) { + my @stat = stat(_); + # mode, nlink, uid, gid, size, mtime, filename + printf "%s %d %d %d %d %s %s\n", $mode || ft($file).fm($stat[2] & 07777), + $stat[3], $stat[4], $stat[5], $stat[7], bt($stat[9]), $path; + } } $DATE=bt(time()); @@ -125,7 +128,7 @@ sub list print "-r-xr--r-- 1 root root $sz $DATE DIST-UPGRADE\n"; ls("/etc/apt/sources.list","sources.list"); - ls("/etc/apt/apt.conf","apt.conf"); + ls('/etc/apt/apt.conf','apt.conf') if (-f '/etc/apt/apt.conf'); print "drwxr-xr-x 1 root root 0 $DATE all\n"; diff --git a/vfs/extfs/dpkg.in b/vfs/extfs/dpkg.in index a39ec7625..3e98793d0 100644 --- a/vfs/extfs/dpkg.in +++ b/vfs/extfs/dpkg.in @@ -93,10 +93,13 @@ sub fm sub ls { my ($file,$path,$mode) = @_; - my @stat = stat($file); - # mode, nlink, uid, gid, size, mtime, filename - printf "%s %d %d %d %d %s %s\n", $mode || ft($file).fm($stat[2] & 07777), - $stat[3], $stat[4], $stat[5], $stat[7], bt($stat[9]), $path; + + if (-f $file) { + my @stat = stat(_); + # mode, nlink, uid, gid, size, mtime, filename + printf "%s %d %d %d %d %s %s\n", $mode || ft($file).fm($stat[2] & 07777), + $stat[3], $stat[4], $stat[5], $stat[7], bt($stat[9]), $path; + } } $DATE=bt(time());