From: Richard Levitte Date: Thu, 9 Jan 2020 13:49:53 +0000 (+0100) Subject: Configure: use $list_separator_re only for defines and includes X-Git-Tag: OpenSSL_1_1_1e~68 X-Git-Url: http://git.ipfire.org/?p=thirdparty%2Fopenssl.git;a=commitdiff_plain;h=5f6343dea1233deb6d762e24e0e0d3d795b9513d 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) (cherry picked from commit bbe486cf6154df3d3aaedbae6c5b82d4ed31a5f8) --- diff --git a/Configure b/Configure index 317940de11..35436d990d 100755 --- a/Configure +++ b/Configure @@ -533,7 +533,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 @@ -974,7 +974,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; }