mirror of
https://github.com/zeek/zeek.git
synced 2025-10-07 00:58:19 +00:00
Merge remote-tracking branch 'origin/topic/jsiwek/outer_param_binding'
That works. Just renaming "param" to "ID", as locals are affected as well. BIT-1233 #merged * origin/topic/jsiwek/outer_param_binding: Detect functions that try to bind variables from an outer scope.
This commit is contained in:
commit
a3b2e3a2b4
6 changed files with 131 additions and 51 deletions
3
testing/btest/Baseline/language.outer_param_binding/out
Normal file
3
testing/btest/Baseline/language.outer_param_binding/out
Normal file
|
@ -0,0 +1,3 @@
|
|||
error in /home/robin/bro/master/testing/btest/.tmp/language.outer_param_binding/outer_param_binding.bro, line 16: referencing outer function IDs not supported (c)
|
||||
error in /home/robin/bro/master/testing/btest/.tmp/language.outer_param_binding/outer_param_binding.bro, line 16: referencing outer function IDs not supported (d)
|
||||
error in /home/robin/bro/master/testing/btest/.tmp/language.outer_param_binding/outer_param_binding.bro, line 17: referencing outer function IDs not supported (b)
|
27
testing/btest/language/outer_param_binding.bro
Normal file
27
testing/btest/language/outer_param_binding.bro
Normal file
|
@ -0,0 +1,27 @@
|
|||
# @TEST-EXEC-FAIL: bro -b %INPUT >out 2>&1
|
||||
# @TEST-EXEC: TEST_DIFF_CANONIFIER=$SCRIPTS/diff-remove-abspath btest-diff out
|
||||
|
||||
type Foo: record {
|
||||
x: function(a: string) : string;
|
||||
};
|
||||
|
||||
function bar(b: string, c: string)
|
||||
{
|
||||
local f: Foo;
|
||||
local d = 8;
|
||||
f = [$x=function(a: string) : string
|
||||
{
|
||||
local x = 0;
|
||||
print x;
|
||||
print c, d;
|
||||
return cat(a, " ", b);
|
||||
}
|
||||
];
|
||||
|
||||
print f$x("2");
|
||||
}
|
||||
|
||||
event bro_init()
|
||||
{
|
||||
bar("1", "20");
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue