# cat is an external program, variable should not leak out of it. # this currently fails with CONFIG_FEATURE_SH_NOFORK=y VAR='' VAR=val0 cat /dev/null echo "should be empty: '$VAR'" # true is a regular builtin, variable should not leak out of it. VAR='' VAR=val1 true echo "should be empty: '$VAR'" # ash follows the "special builtin leaks variables" rule here: # exec is a special builtin. (bash does not do it) VAR='' VAR=val2 exec 2>&1 echo "should be not empty: '$VAR'" # ash follows the "function call is a special builtin" rule here # (bash does not do it) f() { true; } VAR='' VAR=val3 f echo "should be not empty: '$VAR'"