From 7160e074f680b08a65ff892b00b0eba41aef5c97 Mon Sep 17 00:00:00 2001 From: Evan Typanski Date: Wed, 12 Feb 2025 13:49:12 -0800 Subject: [PATCH] Do not export locals Fixes #4227 --- src/parse.y | 2 +- .../language.locals-to-global/.stdout | 3 +++ testing/btest/language/locals-to-global.zeek | 24 +++++++++++++++++++ 3 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 testing/btest/Baseline/language.locals-to-global/.stdout create mode 100644 testing/btest/language/locals-to-global.zeek diff --git a/src/parse.y b/src/parse.y index e02f2316e3..bc90f20dec 100644 --- a/src/parse.y +++ b/src/parse.y @@ -2212,7 +2212,7 @@ local_id: else { $$ = install_ID($1, current_module.c_str(), - false, is_export).release(); + false, false).release(); } } ; diff --git a/testing/btest/Baseline/language.locals-to-global/.stdout b/testing/btest/Baseline/language.locals-to-global/.stdout new file mode 100644 index 0000000000..da34ee5ec1 --- /dev/null +++ b/testing/btest/Baseline/language.locals-to-global/.stdout @@ -0,0 +1,3 @@ +### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. +one +two diff --git a/testing/btest/language/locals-to-global.zeek b/testing/btest/language/locals-to-global.zeek new file mode 100644 index 0000000000..a6f75d1aa8 --- /dev/null +++ b/testing/btest/language/locals-to-global.zeek @@ -0,0 +1,24 @@ +# @TEST-DOC: Ensure that locals are not hoisted to global scope. +# @TEST-EXEC: zeek -b %INPUT +# @TEST-EXEC: TEST_DIFF_CANONIFIER= btest-diff .stdout + +module Test; + +export { + function func1() + { + local t: string = "one"; + print t; + } + function func2() + { + local t: string = "two"; + print t; + } +} + +event zeek_init() + { + func1(); + func2(); + }