mirror of
https://github.com/zeek/zeek.git
synced 2025-10-14 04:28:20 +00:00
Improve Broker store API's handling of invalid arguments
* Some methods mistakenly returned a bool instead of QueryResult when passed an invalid `opaque of Broker::Store` handle. * Now generates a runtime exception for store_name() and is_closed() calls that pass an invalid `opaque of Broker::Store` handle as any returned value can't be reasonably used in any subsequent logic. * Descriptions of any invalid arguments are now given in the error message.
This commit is contained in:
parent
2b698c4e1b
commit
a9f853efcd
3 changed files with 66 additions and 59 deletions
|
@ -1,2 +1,3 @@
|
|||
error in /home/jon/pro/zeek/zeek/testing/btest/.tmp/broker.store.invalid-handle/invalid-handle.zeek, line 6: invalid Broker store handle (Broker::keys(a))
|
||||
keys, F
|
||||
expression error in /home/jon/pro/zeek/zeek/testing/btest/.tmp/broker.store.invalid-handle/invalid-handle.zeek, line 18: invalid Broker store handle (0), during call: (Broker::is_closed(a))
|
||||
error in /home/jon/pro/zeek/zeek/testing/btest/.tmp/broker.store.invalid-handle/invalid-handle.zeek, line 6: invalid Broker store handle (Broker::keys(a) and 0)
|
||||
keys, [status=Broker::FAILURE, result=[data=<uninitialized>]]
|
||||
|
|
|
@ -13,8 +13,21 @@ function print_keys(a: any)
|
|||
}
|
||||
}
|
||||
|
||||
function checkit(a: any)
|
||||
{
|
||||
if ( Broker::is_closed(a) )
|
||||
print "this shouldn't get printed";
|
||||
else
|
||||
print "this shouldn't get printed either";
|
||||
}
|
||||
|
||||
global a: int = 0;
|
||||
|
||||
event zeek_init() &priority=10
|
||||
{
|
||||
checkit(a);
|
||||
}
|
||||
|
||||
event zeek_init()
|
||||
{
|
||||
print_keys(a);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue