提交 f879d5ff 编写于 作者: R Richard Levitte

The Perl interpreter might be in a path with spaces, so maybe quote it

Note: some shells do not like the command verb to be quoted, so we avoid
it unless it's actually necessary.

RT#4665
Reviewed-by: NRich Salz <rsalz@openssl.org>
上级 bde588df
......@@ -2398,7 +2398,8 @@ sub run_dofile
foreach (@templates) {
die "Can't open $_, $!" unless -f $_;
}
my $cmd = "$config{perl} \"-I.\" \"-Mconfigdata\" \"$dofile\" -o\"Configure\" \"".join("\" \"",@templates)."\" > \"$out.new\"";
my $perlcmd = (quotify("maybeshell", $config{perl}))[0];
my $cmd = "$perlcmd \"-I.\" \"-Mconfigdata\" \"$dofile\" -o\"Configure\" \"".join("\" \"",@templates)."\" > \"$out.new\"";
#print STDERR "DEBUG[run_dofile]: \$cmd = $cmd\n";
system($cmd);
exit 1 if $? != 0;
......@@ -2558,6 +2559,14 @@ sub quotify {
perl => sub { my $x = shift;
$x =~ s/([\\\$\@"])/\\$1/g;
return '"'.$x.'"'; },
maybeshell => sub { my $x = shift;
(my $y = $x) =~ s/([\\\"])/\\$1/g;
if ($x ne $y || $x =~ m|\s|) {
return '"'.$y.'"';
} else {
return $x;
}
},
);
my $for = shift;
my $processor =
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册