On Sunday, April 28, 2002, at 04:48 PM, Stas Bekman wrote: > Ken Williams wrote: >> On Sunday, April 28, 2002, at 01:47 PM, Stas Bekman wrote: >>> Ken, CWD.pm, has always suffered from taint problems. This problem >>> has been fixed in the bleadperl, try this patch: >>> >>> --- /tmp/Cwd.pm Sun Apr 28 11:44:38 2002 >>> +++ /home/stas/perl.org/perl-5.6.1/lib/Cwd.pm Fri Sep 14 17:09:10 >>> 2001 >>> @@ -89,7 +89,6 @@ >>> # The 'natural and safe form' for UNIX (pwd may be setuid root) >>> >>> sub _backtick_pwd { >>> + local @ENV{qw(PATH IFS CDPATH ENV BASH_ENV)}; >>> my $cwd = `pwd`; >>> # `pwd` may fail e.g. if the disk is full >>> chomp($cwd) if defined $cwd; >> This still fails, because it won't find `pwd` without a path. > > it does solve the problem on linux. Ken, can you test the bleadperl? > This fix was applied as a solution.
I sent a message earlier today saying that this patch seems to help things, but I just noticed something disturbing. After hand-applying this patch to my CWD.pm from 5.6.1, I ran a 'perl Makefile.PL' for a different module (Apache::SSI), and it created the Makefile not in the current directory, but in my *home* directory! Weird. I don't know why it happened yet, but obviously this isn't a good thing. I don't see how this patch can be right - how is it supposed to execute `pwd` if there's nothing in $ENV{PATH}? -Ken