Unverified Commit 3d9564fd authored by Dave Miller's avatar Dave Miller Committed by GitHub

Bug 1923778: Newer Perl hates PATH being empty (#224)

r=mrenvoize
parent 832c348e
......@@ -87,7 +87,10 @@ sub init_page {
}
if (${^TAINT}) {
my $path = '';
# PATH *MUST* contain SOMETHING or newer Perls will throw an error. Keep this
# minimal and platform-specific so command lookups still work when needed.
# see https://bugzilla.mozilla.org/show_bug.cgi?id=1923778
my $path = '/bin:/usr/bin';
if (ON_WINDOWS) {
# On Windows, these paths are tainted, preventing
......@@ -97,12 +100,18 @@ sub init_page {
trick_taint($ENV{$temp}) if $ENV{$temp};
}
# Native Windows command lookup should include System32.
my $system_root = $ENV{SYSTEMROOT} || $ENV{WINDIR} || 'C:\\Windows';
trick_taint($system_root);
$path = "$system_root\\System32";
# Some DLLs used by Strawberry Perl are also in c\bin,
# see https://rt.cpan.org/Public/Bug/Display.html?id=99104
if (!ON_ACTIVESTATE) {
my $c_path = $path = dirname($^X);
my $perl_path = dirname($^X);
my $c_path = $perl_path;
$c_path =~ s/\bperl\b(?=\\bin)/c/;
$path .= ";$c_path";
$path .= ";$perl_path;$c_path";
trick_taint($path);
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment