mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 06:38:20 +00:00
Merge remote-tracking branch 'origin/topic/timw/1740-table-key-error'
* origin/topic/timw/1740-table-key-error: GH-1741: Print error if calling a non-hook with hook keyword GH-1740: Report a better error message if table key is not a list
This commit is contained in:
commit
7a6a81c200
6 changed files with 31 additions and 11 deletions
6
CHANGES
6
CHANGES
|
@ -1,3 +1,9 @@
|
|||
4.2.0-dev.432 | 2021-12-10 09:28:23 -0700
|
||||
|
||||
* GH-1741: Print error if calling a non-hook with hook keyword (Tim Wojtulewicz, Corelight)
|
||||
|
||||
* GH-1740: Report a better error message if table key is not a list (Tim Wojtulewicz, Corelight)
|
||||
|
||||
4.2.0-dev.428 | 2021-12-09 14:58:53 -0700
|
||||
|
||||
* GH-1125: Support GRE ARUBA headers (Tim Wojtulewicz, Corelight)
|
||||
|
|
2
VERSION
2
VERSION
|
@ -1 +1 @@
|
|||
4.2.0-dev.428
|
||||
4.2.0-dev.432
|
||||
|
|
|
@ -2626,7 +2626,7 @@ TypePtr AssignExpr::InitType() const
|
|||
{
|
||||
if ( op1->Tag() != EXPR_LIST )
|
||||
{
|
||||
Error("bad initializer");
|
||||
Error("bad initializer, first operand should be a list");
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
|
@ -3490,7 +3490,10 @@ TableConstructorExpr::TableConstructorExpr(ListExprPtr constructor_list,
|
|||
SetType(init_type(op.get()));
|
||||
|
||||
if ( ! type )
|
||||
{
|
||||
SetError();
|
||||
return;
|
||||
}
|
||||
|
||||
else if ( type->Tag() != TYPE_TABLE || type->AsTableType()->IsSet() )
|
||||
SetError("values in table(...) constructor do not specify a table");
|
||||
|
|
|
@ -721,8 +721,12 @@ expr:
|
|||
{
|
||||
--in_hook;
|
||||
set_location(@1, @3);
|
||||
|
||||
if ( $3->Tag() != EXPR_CALL )
|
||||
$3->Error("not a valid hook call expression");
|
||||
else if ( $3->AsCallExpr()->Func()->GetType()->AsFuncType()->Flavor() != FUNC_FLAVOR_HOOK )
|
||||
$3->Error("hook keyword should only be used to call hooks");
|
||||
|
||||
$$ = $3;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
|
||||
error in ./invalid.zeek, line 9: hook cannot be called directly, use hook operator (myhook)
|
||||
error in ./invalid.zeek, line 10: hook cannot be called directly, use hook operator (myhook)
|
||||
error in ./invalid.zeek, line 11: hook cannot be called directly, use hook operator (myhook)
|
||||
error in ./invalid.zeek, line 12: not a valid hook call expression (2 + 2)
|
||||
warning in ./invalid.zeek, line 12: expression value ignored (2 + 2)
|
||||
error in ./invalid.zeek, line 13: not a valid hook call expression (2 + 2)
|
||||
error in ./invalid.zeek, line 15: hook cannot be called directly, use hook operator (h)
|
||||
error in ./invalid.zeek, line 16: hook cannot be called directly, use hook operator (h)
|
||||
error in ./invalid.zeek, line 14: hook cannot be called directly, use hook operator (myhook)
|
||||
error in ./invalid.zeek, line 15: hook cannot be called directly, use hook operator (myhook)
|
||||
error in ./invalid.zeek, line 16: hook cannot be called directly, use hook operator (myhook)
|
||||
error in ./invalid.zeek, line 17: not a valid hook call expression (2 + 2)
|
||||
warning in ./invalid.zeek, line 17: expression value ignored (2 + 2)
|
||||
error in ./invalid.zeek, line 18: not a valid hook call expression (2 + 2)
|
||||
error in ./invalid.zeek, line 20: hook cannot be called directly, use hook operator (h)
|
||||
error in ./invalid.zeek, line 21: hook cannot be called directly, use hook operator (h)
|
||||
error in ./invalid.zeek, line 24: hook keyword should only be used to call hooks (foo())
|
||||
|
|
|
@ -66,6 +66,11 @@ hook myhook(i: count)
|
|||
if ( i == 0 ) break;
|
||||
}
|
||||
|
||||
function foo()
|
||||
{
|
||||
print "foo()";
|
||||
}
|
||||
|
||||
event zeek_init()
|
||||
{
|
||||
myhook(3);
|
||||
|
@ -78,5 +83,6 @@ event zeek_init()
|
|||
if ( h(3) )
|
||||
print "hmm";
|
||||
print "done";
|
||||
hook foo();
|
||||
}
|
||||
@TEST-END-FILE
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue