grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] script: Do not allow a delimiter between function name and block


From: Glenn Washburn
Subject: [PATCH] script: Do not allow a delimiter between function name and block start.
Date: Fri, 31 Jul 2020 09:33:22 -0500

Currently the following is valid syntax, but should be a syntax error:

grub> function f; { echo HERE; }
grub> f
HERE

This fix is not backward compatible, but current syntax is not documented
either and has no functional value. So any scripts with this unintended
syntax are technically syntactically incorrect and should not be relying
on this behavior.

Signed-off-by: Glenn Washburn <development@efficientek.com>
---
 grub-core/script/parser.y | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/grub-core/script/parser.y b/grub-core/script/parser.y
index f80b86b6f..4a18ab7ba 100644
--- a/grub-core/script/parser.y
+++ b/grub-core/script/parser.y
@@ -279,7 +279,7 @@ function: "function" "name"
            $<scripts>$ = state->scripts;
            state->scripts = 0;
           }
-          delimiters0 "{" commands1 delimiters1 "}"
+          newlines0 "{" commands1 delimiters1 "}"
           {
             struct grub_script *script;
             state->func_mem = grub_script_mem_record_stop (state,
-- 
2.25.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]