From 852cefe60391a16c5fa238f3ab3044dad239c508 Mon Sep 17 00:00:00 2001 From: Patrick McHardy Date: Tue, 4 Feb 2014 11:22:31 +0000 Subject: parser: prohibit redefinitions of symbols and verify existance on use This patch fixes some incorrect behaviour of symbolic variables: - prohibit redefining an existing symbol - verify existance of a symbolic variable during parsing instead of evaluation The second point makes sure we don't allow recursive definitions (var = $var), which lead to a crash due to stack exhaustion. Signed-off-by: Patrick McHardy --- tests/symbolic-define.1 | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 tests/symbolic-define.1 (limited to 'tests/symbolic-define.1') diff --git a/tests/symbolic-define.1 b/tests/symbolic-define.1 new file mode 100644 index 00000000..712ef715 --- /dev/null +++ b/tests/symbolic-define.1 @@ -0,0 +1,7 @@ +#! nft -f + +# error: variable use before definition +define var2 = $var1 +define var1 = eth0 + +filter input iif $var2 -- cgit v1.2.3