X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FConfig%2FAny%2FPerl.pm;h=77899f57dde9a23434086826c18cacd17c44fc01;hb=3f3b3137bffa7baf8d1204e7a99d6ab23de4686b;hp=6a5d7ade3fda795d3a45140214d2f2ec1503bf1a;hpb=4748f060c5038b49fa96c3be95b28deb88a7a323;p=p5sagit%2FConfig-Any.git diff --git a/lib/Config/Any/Perl.pm b/lib/Config/Any/Perl.pm index 6a5d7ad..77899f5 100644 --- a/lib/Config/Any/Perl.pm +++ b/lib/Config/Any/Perl.pm @@ -4,6 +4,8 @@ use strict; use warnings; use base 'Config::Any::Base'; +use File::Spec; +use Cwd (); =head1 NAME @@ -48,8 +50,13 @@ sub load { my( $exception, $content ); { local $@; - $content = do $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; @@ -62,14 +69,14 @@ Brian Cassidy Ebricas@cpan.orgE =head1 COPYRIGHT AND LICENSE -Copyright 2006-2013 by Brian Cassidy +Copyright 2006-2016 by Brian Cassidy This library is free software; you can redistribute it and/or modify -it under the same terms as Perl itself. +it under the same terms as Perl itself. =head1 SEE ALSO -=over 4 +=over 4 =item * L