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-w32-39701204cfa0f261beb2dc056024634e4c3afd71.tar.gz busybox-w32-39701204cfa0f261beb2dc056024634e4c3afd71.tar.bz2 busybox-w32-39701204cfa0f261beb2dc056024634e4c3afd71.zip |
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 @@ | |||
1 | hush: syntax error: unexpected ) | ||
2 | Fail:2 | ||
3 | 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 @@ | |||
1 | # This is an error | ||
2 | (eval 'if() { echo; }') | ||
3 | echo Fail:$? | ||
4 | # ^^^^^^ bash prints 1, but interactively it sets $? = 2 | ||
5 | # we print 2 | ||
6 | |||
7 | # This is an error, and it aborts in script | ||
8 | if() { echo; } | ||
9 | echo Not reached | ||