opnsense-src/bin/sh/tests/expansion/redir1.0
Jilles Tjoelker 5dff1efc27 sh: Fix corruption of CTL* bytes in positional parameters in redirection.
EXP_REDIR was not being checked for while expanding positional parameters in
redirection, so CTL* bytes were not being prefixed where they should be.

MFC after:	1 week
2014-10-31 22:28:10 +00:00

26 lines
481 B
Text

# $FreeBSD$
bad=0
for i in 0 1 2 3; do
for j in 0 1 2 3 4 5 6 7; do
for k in 0 1 2 3 4 5 6 7; do
case $i$j$k in
000) continue ;;
esac
set -- "$(printf \\$i$j$k@)"
set -- "${1%@}"
ff=
for f in /dev/null /dev/zero /; do
if [ -e "$f" ] && [ ! -e "$f$1" ]; then
ff=$f
fi
done
[ -n "$ff" ] || continue
if { true <$ff$1; } 2>/dev/null; then
echo "Bad: $i$j$k ($ff)" >&2
: $((bad += 1))
fi
done
done
done
exit $((bad ? 2 : 0))