Description: |
Appears that if tclsh starts in an inaccessible working directory,
some [file] operations like [file delete] return EFAULT.
The way to reproduce the problem has been reporte to Debian
at https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=913189
$ rm -rf d
$ mkdir d
$ cd d
$ rm -rf ../d
$ env - pwd
pwd: couldn't find directory entry in '..' with matching i-node
$ tclsh8.6
% file delete spong
error deleting "spong": bad address in system call argument
%
strace shows:
getcwd(0x7ffcf224aeb0, 4097) = -1 ENOENT (No such file or directory)
lstat(NULL, 0x7ffcf224c100) = -1 EFAULT (Bad address)
I would expect another error (file not found) in this case.
Or is there a reason for this behavior?
|