diff options
| author | Laurent Vivier <lvivier@redhat.com> | 2026-05-12 11:56:51 +0200 |
|---|---|---|
| committer | Stefano Brivio <sbrivio@redhat.com> | 2026-05-16 15:50:52 +0200 |
| commit | ab122931e18001a4f2e06f80fb30ad3bbb2bd0d6 (patch) | |
| tree | a8d897dfc1b039d5af980e0c10081a8bcbe6080e | |
| parent | 9b1ef47c1c27b7637e1442934f19fcdcdc3e1628 (diff) | |
| download | passt-ab122931e18001a4f2e06f80fb30ad3bbb2bd0d6.tar passt-ab122931e18001a4f2e06f80fb30ad3bbb2bd0d6.tar.gz passt-ab122931e18001a4f2e06f80fb30ad3bbb2bd0d6.tar.bz2 passt-ab122931e18001a4f2e06f80fb30ad3bbb2bd0d6.tar.lz passt-ab122931e18001a4f2e06f80fb30ad3bbb2bd0d6.tar.xz passt-ab122931e18001a4f2e06f80fb30ad3bbb2bd0d6.tar.zst passt-ab122931e18001a4f2e06f80fb30ad3bbb2bd0d6.zip | |
lib/term: Quote tr character ranges to prevent glob expansion
Single-letter files in the working directory cause glob expansion of
unquoted tr character ranges like [A-Z] and [a-z]. When the shell
expands these against matching filenames, tr receives wrong arguments
and pane_or_context_run() hangs without errors.
Apply the same fix as in a36031a4d807 ("seccomp.sh: Quote tr character
ranges to prevent glob expansion"): quote all tr ranges in test/lib/term.
Signed-off-by: Laurent Vivier <lvivier@redhat.com>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
| -rwxr-xr-x | test/lib/term | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/test/lib/term b/test/lib/term index 89e4fdb..2d2d218 100755 --- a/test/lib/term +++ b/test/lib/term @@ -198,7 +198,7 @@ pane_run() { # pane_wait() - Wait for command to be done in given pane name # $1: Pane name pane_wait() { - __lc="$(echo "${1}" | tr [A-Z] [a-z])" + __lc="$(echo "${1}" | tr '[A-Z]' '[a-z]')" sleep 0.01 || sleep 1 __done=0 @@ -213,7 +213,7 @@ pane_wait() { # pane_parse() - Print last line, @EMPTY@ if command had no output # $1: Pane name pane_parse() { - __pane_lc="$(echo "${1}" | tr [A-Z] [a-z])" + __pane_lc="$(echo "${1}" | tr '[A-Z]' '[a-z]')" __buf="$(tail -n2 ${LOGDIR}/pane_${__pane_lc}.log | head -n1 | sed 's/^[^\r]*\r\([^\r]\)/\1/;s/[]][^]*[\]//g' | tr -d '\r\n')" @@ -267,7 +267,7 @@ pane_or_context_run() { # Redirect stdin to stop ssh from eating the test instructions file we have on stdin context_run "${__name}" "$@" >/dev/null 2>&1 < /dev/null else - __uc="$(echo "${__name}" | tr [a-z] [A-Z])" + __uc="$(echo "${__name}" | tr '[a-z]' '[A-Z]')" pane_run "${__uc}" "$@" pane_status "${__uc}" fi @@ -283,7 +283,7 @@ pane_or_context_run_bg() { # Redirect stdin to stop ssh from eating the test instructions file we have on stdin context_run_bg "${__name}" "$@" >/dev/null 2>&1 < /dev/null else - __uc="$(echo "${__name}" | tr [a-z] [A-Z])" + __uc="$(echo "${__name}" | tr '[a-z]' '[A-Z]')" pane_run "${__uc}" "$@" fi } @@ -303,7 +303,7 @@ pane_or_context_output() { echo "${__output}" fi else - __uc="$(echo "${__name}" | tr [a-z] [A-Z])" + __uc="$(echo "${__name}" | tr '[a-z]' '[A-Z]')" pane_run "${__uc}" "$@" pane_wait "${__uc}" pane_parse "${__uc}" @@ -318,7 +318,7 @@ pane_or_context_wait() { if context_exists "${__name}"; then context_wait "${__name}" else - __uc="$(echo "${__name}" | tr [a-z] [A-Z])" + __uc="$(echo "${__name}" | tr '[a-z]' '[A-Z]')" pane_wait "${__uc}" fi } |
