diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2020-02-21 16:30:44 +0100 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2020-02-21 16:30:44 +0100 |
commit | 45dd87aac05ddf8bbfb110fde85ef875f3adfb65 (patch) | |
tree | 2d18a0cc2abd0e15f4163f5dc1ce928739b8097d /shell/hush_test/hush-quoting | |
parent | da2e46dff6576c29fa1d379c943bb7943aa6e7ce (diff) | |
download | busybox-45dd87aac05ddf8bbfb110fde85ef875f3adfb65.tar.gz |
ash: expand: Ensure result is escaped in cvtnum
Upstream commit:
Date: Fri, 1 Jun 2018 18:25:29 +0800
expand: Ensure result is escaped in cvtnum
The minus sign generated from arithmetic expansion is currently
unquoted which causes anomalies when the result is used in where
the quoting matters.
This patch fixes it by explicitly calling memtodest on the result
in cvtnum.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'shell/hush_test/hush-quoting')
-rw-r--r-- | shell/hush_test/hush-quoting/negative_arith.right | 2 | ||||
-rwxr-xr-x | shell/hush_test/hush-quoting/negative_arith.tests | 8 |
2 files changed, 10 insertions, 0 deletions
diff --git a/shell/hush_test/hush-quoting/negative_arith.right b/shell/hush_test/hush-quoting/negative_arith.right new file mode 100644 index 000000000..e7e51eee7 --- /dev/null +++ b/shell/hush_test/hush-quoting/negative_arith.right @@ -0,0 +1,2 @@ +tempfile0.tmp tempfile9.tmp +tempfile0.tmp tempfile1.tmp tempfile9.tmp diff --git a/shell/hush_test/hush-quoting/negative_arith.tests b/shell/hush_test/hush-quoting/negative_arith.tests new file mode 100755 index 000000000..8e47ca111 --- /dev/null +++ b/shell/hush_test/hush-quoting/negative_arith.tests @@ -0,0 +1,8 @@ +>tempfile0.tmp +>tempfile1.tmp +>tempfile9.tmp +# The [...] is interpreted as: "any of the chars 0, -, and 9" +echo tempfile[0"$((-9))"].tmp +# The [...] is [0-9], interpreted as: "any digit" +echo tempfile[0$((-9))].tmp +rm tempfile?.tmp |