diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2017-08-02 19:44:05 +0200 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2017-08-02 19:46:14 +0200 |
commit | 39701204cfa0f261beb2dc056024634e4c3afd71 (patch) | |
tree | f756205f8872ed47dd06652c63fae8c83cbdeab5 /shell/hush_test | |
parent | 84ea60ed65f6ea6fd3b2170e44bbff5de410a78b (diff) | |
download | busybox-39701204cfa0f261beb2dc056024634e4c3afd71.tar.gz |
hush: do not accept "if() { echo; }" function def
function old new delta
parse_stream 2634 2692 +58
msg_and_die_if_script - 21 +21
syntax_error_unexpected_ch 41 46 +5
syntax_error_at 14 18 +4
die_if_script 31 28 -3
setup_redirects 319 308 -11
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 3/2 up/down: 88/-14) Total: 74 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'shell/hush_test')
-rw-r--r-- | shell/hush_test/hush-parsing/groups_and_keywords2.right | 3 | ||||
-rwxr-xr-x | shell/hush_test/hush-parsing/groups_and_keywords2.tests | 9 |
2 files changed, 12 insertions, 0 deletions
diff --git a/shell/hush_test/hush-parsing/groups_and_keywords2.right b/shell/hush_test/hush-parsing/groups_and_keywords2.right new file mode 100644 index 000000000..ae74a5db9 --- /dev/null +++ b/shell/hush_test/hush-parsing/groups_and_keywords2.right @@ -0,0 +1,3 @@ +hush: syntax error: unexpected ) +Fail:2 +hush: syntax error: unexpected ) diff --git a/shell/hush_test/hush-parsing/groups_and_keywords2.tests b/shell/hush_test/hush-parsing/groups_and_keywords2.tests new file mode 100755 index 000000000..ab33b909f --- /dev/null +++ b/shell/hush_test/hush-parsing/groups_and_keywords2.tests @@ -0,0 +1,9 @@ +# This is an error +(eval 'if() { echo; }') +echo Fail:$? +# ^^^^^^ bash prints 1, but interactively it sets $? = 2 +# we print 2 + +# This is an error, and it aborts in script +if() { echo; } +echo Not reached |