The branch master has been updated
       via  f879d5ff38d3c2283db968ea57c7a3207cc05889 (commit)
      from  bde588df8a4d9f714cefe9cfd1a3931558de4c3c (commit)


- Log -----------------------------------------------------------------
commit f879d5ff38d3c2283db968ea57c7a3207cc05889
Author: Richard Levitte <levi...@openssl.org>
Date:   Tue Aug 30 18:41:00 2016 +0200

    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: Rich Salz <rs...@openssl.org>

-----------------------------------------------------------------------

Summary of changes:
 Configure | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/Configure b/Configure
index b88f6aa..1331360 100755
--- a/Configure
+++ b/Configure
@@ -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 =
_____
openssl-commits mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-commits

Reply via email to