diff options
Diffstat (limited to 'lib/File/Spec/OS2.pm')
-rw-r--r-- | lib/File/Spec/OS2.pm | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/lib/File/Spec/OS2.pm b/lib/File/Spec/OS2.pm index 20bf8c9dce..6392ba4acb 100644 --- a/lib/File/Spec/OS2.pm +++ b/lib/File/Spec/OS2.pm @@ -33,7 +33,15 @@ my $tmpdir; sub tmpdir { return $tmpdir if defined $tmpdir; my $self = shift; - foreach (@ENV{qw(TMPDIR TEMP TMP)}, qw(/tmp /)) { + my @dirlist = ( @ENV{qw(TMPDIR TEMP TMP)}, qw(/tmp /) ); + { + no strict 'refs'; + if (${"\cTAINT"}) { # Check for taint mode on perl >= 5.8.0 + require Scalar::Util; + @dirlist = grep { ! Scalar::Util::tainted $_ } @dirlist; + } + } + foreach (@dirlist) { next unless defined && -d; $tmpdir = $_; last; |