From: Richard Levitte Date: Wed, 7 Feb 2024 03:38:28 +0000 (+0100) Subject: Configure: Fix ordering bug when processing split DEPENDs X-Git-Tag: openssl-3.3.0-alpha1~162 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ecabdf39aa461c7d78f2c6ce24d1f168a7cbc7c5;p=thirdparty%2Fopenssl.git Configure: Fix ordering bug when processing split DEPENDs Configure was recently made to process this sort of line: DEPEND[generated]=util/perl|OpenSSL/something.pm Unfortunately, in processing such lines, the order in which paths were recomputed caused some resulting paths to be faulty under some circumstances. This change fixes that. Fixes #22853 Reviewed-by: Tom Cosgrove Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/23500) (cherry picked from commit 64cae4064405384cf7fe130a1e0189725db5e877) --- diff --git a/Configure b/Configure index 934b0d09c07..c09bec39f60 100755 --- a/Configure +++ b/Configure @@ -2487,10 +2487,11 @@ EOF && $f =~ m/^(.*?)\|(.*)$/) { $i = $1; $m = $2; - $i = cleanfile($sourced, $i, $blddir, 1); - $i2 = cleanfile($buildd, $i, $blddir); + # We must be very careful to modify $i last $d = cleanfile($sourced, "$i/$m", $blddir, 1); $d2 = cleanfile($buildd, "$i/$m", $blddir); + $i2 = cleandir($buildd, $i, $blddir); + $i = cleandir($sourced, $i, $blddir, 1); } else { $d = cleanfile($sourced, $f, $blddir, 1); $d2 = cleanfile($buildd, $f, $blddir);