summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorRalf Wildenhues <Ralf.Wildenhues@gmx.de>2007-11-30 08:53:38 +0100
committerJim Meyering <meyering@redhat.com>2007-11-30 08:53:38 +0100
commit688073771da95df0d7551b8361e264180bfffe5f (patch)
tree9d4391b5282a96ad4df3dc3e0b8e43b2886ff1ac /tests
parent9962f24cc458e7d7588d4d043339823067aa3b83 (diff)
downloadcoreutils-688073771da95df0d7551b8361e264180bfffe5f.tar.xz
* tests/CuTmpdir.pm (END): Do not do the cleanup if $dir is not
defined, because it then goes wild and changes the mode of all directories below $HOME. Undefined $dir can happen if the test is to be skipped because of an unsafe working directory name.
Diffstat (limited to 'tests')
-rw-r--r--tests/CuTmpdir.pm13
1 files changed, 8 insertions, 5 deletions
diff --git a/tests/CuTmpdir.pm b/tests/CuTmpdir.pm
index f8d43d5ff..38bc7245e 100644
--- a/tests/CuTmpdir.pm
+++ b/tests/CuTmpdir.pm
@@ -64,11 +64,14 @@ sub wanted
END {
my $saved_errno = $?;
- chdir $dir
- or warn "$ME: failed to chdir to $dir: $!\n";
- # Perform the equivalent of find . -type d -print0|xargs -0 chmod -R 700.
- my $options = {untaint => 1, wanted => \&wanted};
- find ($options, '.');
+ if (defined $dir)
+ {
+ chdir $dir
+ or warn "$ME: failed to chdir to $dir: $!\n";
+ # Perform the equivalent of find . -type d -print0|xargs -0 chmod -R 700.
+ my $options = {untaint => 1, wanted => \&wanted};
+ find ($options, '.');
+ }
$? = $saved_errno;
}