busybox/shell/ash_test/ash-quoting/dollar_repl_slash_bash1.tests
Denys Vlasenko fd33e17a2b ash: fix obscure case of replacing + globbing + backslashes
function                                             old     new   delta
subevalvar                                          1152    1178     +26
readtoken1                                          3267    3275      +8
redirect                                            1284    1286      +2
expandarg                                            957     958      +1
expdir                                                 4       -      -4
evalcommand                                         1219    1209     -10
expmeta                                              481     469     -12
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 4/2 up/down: 37/-26)             Total: 11 bytes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-06-26 22:55:44 +02:00

22 lines
535 B
Plaintext
Executable File

# The bug here was triggered by:
# * performin pathname expansion because we see [
# * replace operator did not escape \ in replace string
IP=192.168.0.1
rm -f '192.168.0.1['
echo "${IP//./\\.}"
echo "${IP//./\\.}"'[' # bug was here
echo "${IP//./\\.}[" # bug was here
echo "${IP//./\\\\.}[" # bug was here
echo "192\.168\.0\.1["
echo >'192.168.0.1['
echo "${IP//./\\.}"
echo "${IP//./\\.}"'[' # bug was here
echo "${IP//./\\.}[" # bug was here
echo "${IP//./\\\\.}[" # bug was here
echo "192\.168\.0\.1["
rm -f '192.168.0.1['