X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=p5sagit%2FConfig-Any.git;a=blobdiff_plain;f=lib%2FConfig%2FAny%2FPerl.pm;h=3e27a17b4115d17435f6e433d1abecb9fcdc7ab5;hp=2bddfa1c203e11def3b946c06d33cd0d5f90e075;hb=c63419999f2c029f35bfcd700ae196eb0a3a08fa;hpb=1febe9e798741e52f72d701e4e806e2c30b004e9 diff --git a/lib/Config/Any/Perl.pm b/lib/Config/Any/Perl.pm index 2bddfa1..3e27a17 100644 --- a/lib/Config/Any/Perl.pm +++ b/lib/Config/Any/Perl.pm @@ -5,6 +5,7 @@ use warnings; use base 'Config::Any::Base'; use File::Spec; +use Cwd (); =head1 NAME @@ -49,8 +50,13 @@ sub load { my( $exception, $content ); { local $@; - $content = do File::Spec->rel2abs($file); - $exception = $@; + # previously this would load based on . being in @INC, and wouldn't + # trigger taint errors even if '.' probably should have been considered + # tainted. untaint for backwards compatibility. + my ($cwd) = Cwd::cwd() =~ /\A(.*)\z/s; + $content = do File::Spec->rel2abs($file, $cwd); + $exception = $@ || $! + if !defined $content; } die $exception if $exception;