bug in ash set -e
Natanael Copa
ncopa at alpinelinux.org
Wed Nov 9 17:52:32 UTC 2016
On Wed, 09 Nov 2016 16:12:41 +0000
Ron Yorston <rmy at pobox.com> wrote:
> Natanael Copa wrote:
> >I have found a bug (or weird feature?) in busybox ash:
> >
> >$ dash -c "set -e ; ( false ) ; echo 'should not echo'"
> >$ bash -c "set -e ; ( false ) ; echo 'should not echo'"
> >$ ash -c "set -e ; ( false ) ; echo 'should not echo'"
> >should not echo
> >$
> >
> >It looks like `set -e` does not catch error in ( )
>
> This is true in 1.25.1. It's fixed in master by this:
>
> commit 204c7fb2293f67f6277f917e854188f5540e6955
> Author: Rostislav Skudnov <rostislav at tuxera.com>
> Date: Fri Sep 16 19:04:02 2016 +0000
>
> ash: exit after subshell error when errexit option is set
>
> When "set -e" option is on, shell must exit when any command fails,
> including compound commands of the form (compound-list) executed in a
> subshell. Bash and dash shells have this behaviour.
>
> Also add a corresponding testcase.
>
> Ron
So it should be added to fixes-1.25.1/ and inclueded in 1.25.2
Thanks!
-nc
More information about the busybox
mailing list