From bbe486cf6154df3d3aaedbae6c5b82d4ed31a5f8 Mon Sep 17 00:00:00 2001 From: Richard Levitte Date: Thu, 9 Jan 2020 14:49:53 +0100 Subject: Configure: use $list_separator_re only for defines and includes This regexp was used a bit too uncontrolled, which had it split flag values where it should not have. Fixes #10792 Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/10793) --- Configure | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'Configure') diff --git a/Configure b/Configure index 8ee0fbdb25..1e86bfa198 100755 --- a/Configure +++ b/Configure @@ -590,7 +590,7 @@ while ((my $first, my $second) = (shift @list, shift @list)) { &usage if ($#ARGV < 0); -# For the "make variables" CINCLUDES and CDEFINES, we support lists with +# For the "make variables" CPPINCLUDES and CPPDEFINES, we support lists with # platform specific list separators. Users from those platforms should # recognise those separators from how you set up the PATH to find executables. # The default is the Unix like separator, :, but as an exception, we also @@ -1030,7 +1030,11 @@ foreach (keys %user) { if (defined $value) { if (ref $user{$_} eq 'ARRAY') { - $user{$_} = [ split /$list_separator_re/, $value ]; + if ($_ eq 'CPPDEFINES' || $_ eq 'CPPINCLUDES') { + $user{$_} = [ split /$list_separator_re/, $value ]; + } else { + $user{$_} = [ $value ]; + } } elsif (!defined $user{$_}) { $user{$_} = $value; } -- cgit v1.2.1