| Summary: | variable substitution is broken starting with 1.32.0 when variable is unset | ||
|---|---|---|---|
| Product: | Busybox | Reporter: | Risto <risto78> |
| Component: | Standard Compliance | Assignee: | unassigned |
| Status: | RESOLVED FIXED | ||
| Severity: | major | CC: | busybox-cvs |
| Priority: | P5 | ||
| Version: | 1.32.x | ||
| Target Milestone: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Host: | Target: | ||
| Build: | |||
tested with
docker run -it busybox:1.31.1 sh -c 'echo ${FOO//,/}'
docker run -it busybox:1.32.0 sh -c 'echo ${FOO//,/}'
/
Fixed in 1.33.0
commit 883cdb79a440d0425766f67aaef0cabde0a5060e
Date: Sat Jan 9 08:27:37 2021 +0100
ash: fix ${unset_var/pattern/repl}
|
Incorrect Behaviour in 1.32.0 # unset FOO # echo ${FOO//,/} / # echo ${FOO/,/} / # echo ${FOO//} # FOO= # echo ${FOO//} # echo ${FOO/,/} # echo ${FOO//,/} Correct Behaviour in 1.31.1 # unset FOO # echo ${FOO//,/} # echo ${FOO/,/} # echo ${FOO//} # FOO= # echo ${FOO//} # echo ${FOO/,/} # echo ${FOO//,/}