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>
This commit is contained in:
2
shell/hush_test/hush-quoting/negative_arith.right
Normal file
2
shell/hush_test/hush-quoting/negative_arith.right
Normal file
@@ -0,0 +1,2 @@
|
||||
tempfile0.tmp tempfile9.tmp
|
||||
tempfile0.tmp tempfile1.tmp tempfile9.tmp
|
||||
8
shell/hush_test/hush-quoting/negative_arith.tests
Executable file
8
shell/hush_test/hush-quoting/negative_arith.tests
Executable file
@@ -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
|
||||
Reference in New Issue
Block a user