From e87a3473fd1e9d901a89d4b14a53826723357701 Mon Sep 17 00:00:00 2001 From: Kai Pastor Date: Sat, 4 Jan 2025 11:48:26 +0100 Subject: [PATCH] Fix buildinf.h generation for space and backslash Builds may be configured with CC or CFLAGS containing space and double quotes. In particular on Windows, this may lead to passing more than two arguments into mkbuildinf.pl. In addition, backslashes must be escaped for constructing the C string. Fixes #26253. Reviewed-by: Tomas Mraz Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/26315) --- util/mkbuildinf.pl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/util/mkbuildinf.pl b/util/mkbuildinf.pl index 7b1aba054c..a892a4396f 100755 --- a/util/mkbuildinf.pl +++ b/util/mkbuildinf.pl @@ -9,7 +9,9 @@ use strict; use warnings; -my ($cflags, $platform) = @ARGV; +my $platform = pop @ARGV; +my $cflags = join(' ', @ARGV); +$cflags =~ s(\\)(\\\\)g; $cflags = "compiler: $cflags"; # Use the value of the envvar SOURCE_DATE_EPOCH, even if it's