summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2020-09-08 13:20:45 +0200
committerPaolo Bonzini <pbonzini@redhat.com>2021-01-12 12:38:03 +0100
commit835af8990c5ef4679a0cc44f0ee2582cfccbfc8d (patch)
treea770586189e4f174c7b4149a375938ac2cb99c38
parentc1ec49415c300cc539efdb88bb3f72078fb43c24 (diff)
downloadfocaccia-qemu-835af8990c5ef4679a0cc44f0ee2582cfccbfc8d.tar.gz
focaccia-qemu-835af8990c5ef4679a0cc44f0ee2582cfccbfc8d.zip
configure: quote command line arguments in config.status
Make config.status generation a bit more robust.  (The quote_sh
function will also be reused to parse configure's command line
arguments in an external script driven by Meson build option
introspection).

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rwxr-xr-xconfigure6
1 files changed, 5 insertions, 1 deletions
diff --git a/configure b/configure
index 17aa595343..155dda124c 100755
--- a/configure
+++ b/configure
@@ -89,6 +89,10 @@ printf " '%s'" "$0" "$@" >> config.log
 echo >> config.log
 echo "#" >> config.log
 
+quote_sh() {
+    printf "%s" "$1" | sed "s,','\\\\'',g; s,.*,'&',"
+}
+
 print_error() {
     (echo
     echo "ERROR: $1"
@@ -6519,7 +6523,7 @@ preserve_env WINDRES
 
 printf "exec" >>config.status
 for i in "$0" "$@"; do
-  test "$i" = --skip-meson || printf " '%s'" "$i" >>config.status
+  test "$i" = --skip-meson || printf " %s" "$(quote_sh "$i")" >>config.status
 done
 echo ' "$@"' >>config.status
 chmod +x config.status