From 019e3a0b6b34ee0fdd8796a65ec99f5d11a2b7eb Mon Sep 17 00:00:00 2001 From: Richard Levitte Date: Tue, 3 Mar 2020 14:31:35 +0100 Subject: [PATCH] util/perl/OpenSSL/config.pm: remove expand() and use eval The strings we expand contain other variable references than just ${MACHINE}. Instead of having to remember what to expand, we simply evaluate the string as a, well, string. Reviewed-by: Tim Hudson (Merged from https://github.com/openssl/openssl/pull/11230) --- util/perl/OpenSSL/config.pm | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/util/perl/OpenSSL/config.pm b/util/perl/OpenSSL/config.pm index 53a77b3424..3536f12d2b 100755 --- a/util/perl/OpenSSL/config.pm +++ b/util/perl/OpenSSL/config.pm @@ -193,13 +193,6 @@ sub maybe_abort { } } -# Expand variable references in a string. -sub expand { - my $var = shift; - $var =~ s/\$\{MACHINE\}/${MACHINE}/; - return $var; -} - # Look for ISC/SCO with its unique uname program sub is_sco_uname { open UNAME, "uname -X 2>/dev/null|" or return ''; @@ -248,7 +241,7 @@ sub guess_system { my $REL = is_sco_uname(); if ( $REL ne "" ) { my $result = get_sco_type($REL); - return expand($result) if $result ne ''; + return eval "\"$result\"" if $result ne ''; } # Now pattern-match @@ -259,7 +252,7 @@ sub guess_system { # Trailing $ omitted on purpose. next if $sys !~ /^$pat/; my $result = @$tuple[1]; - return expand($result); + return eval "\"$result\""; } # Complex cases. @@ -269,7 +262,7 @@ sub guess_system { next if $sys !~ /^$pat/; my $ref = @$tuple[1]; my $result = &$ref; - return expand($result); + return eval "\"$result\""; } # Oh well. -- 2.34.1