OpenSSL::Test::quotify: put quotes around empty arguments
authorRichard Levitte <levitte@openssl.org>
Fri, 16 Feb 2018 22:28:31 +0000 (23:28 +0100)
committerMatt Caswell <matt@openssl.org>
Mon, 19 Feb 2018 11:14:54 +0000 (11:14 +0000)
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/5396)

(cherry picked from commit 5845f7de8165f35829e49acd41f6a2fc3698f221)

util/perl/OpenSSL/Test.pm

index f8805a6db01b6edce90d5bb7fc32949e3ad3c81e..eacbd6817094f0b9a7c00670c04978a76166eb61 100644 (file)
@@ -667,12 +667,13 @@ I<This must never ever be done on VMS.>
 sub quotify {
     # Unix setup (default if nothing else is mentioned)
     my $arg_formatter =
-       sub { $_ = shift; /\s|[\{\}\\\$\[\]\*\?\|\&:;<>]/ ? "'$_'" : $_ };
+       sub { $_ = shift;
+             ($_ eq '' || /\s|[\{\}\\\$\[\]\*\?\|\&:;<>]/) ? "'$_'" : $_ };
 
     if ( $^O eq "VMS") {       # VMS setup
        $arg_formatter = sub {
            $_ = shift;
-           if (/\s|["[:upper:]]/) {
+           if ($_ eq '' || /\s|["[:upper:]]/) {
                s/"/""/g;
                '"'.$_.'"';
            } else {
@@ -682,7 +683,7 @@ sub quotify {
     } elsif ( $^O eq "MSWin32") { # MSWin setup
        $arg_formatter = sub {
            $_ = shift;
-           if (/\s|["\|\&\*\;<>]/) {
+           if ($_ eq '' || /\s|["\|\&\*\;<>]/) {
                s/(["\\])/\\$1/g;
                '"'.$_.'"';
            } else {