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.3 | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 tests/symbolic-define.3 (limited to 'tests/symbolic-define.3') diff --git a/tests/symbolic-define.3 b/tests/symbolic-define.3 new file mode 100644 index 00000000..ba224df7 --- /dev/null +++ b/tests/symbolic-define.3 @@ -0,0 +1,6 @@ +#! nft -f + +# error: recursive definition of a variable +define var1 = $var1 + +filter input iif $var1 -- cgit v1.2.3