Merge remote-tracking branch 'origin/topic/awelzel/rule-parse-fix-coverity-leak'

* origin/topic/awelzel/rule-parse-fix-coverity-leak:
  rule-parse: Remove id_to_str() lookup to squelch coverity warning
This commit is contained in:
Arne Welzel 2024-08-09 20:57:23 +02:00
commit 32cbe953ba
5 changed files with 31 additions and 8 deletions

16
CHANGES
View file

@ -1,3 +1,19 @@
7.1.0-dev.139 | 2024-08-09 20:57:23 +0200
* rule-parse: Remove id_to_str() lookup to squelch coverity warning (Arne Welzel, Corelight)
Coverity didn't like that id_to_str() allocates memory and we didn't
free it. Remote its usage wholesale.
* GH-3774: btest: Skip core.script-args under TSAN (Arne Welzel, Corelight)
TSAN may re-execute the executable when the memory layout doesn't
fullfill requirements, causing argument confusion when that happens.
Closes #3774.
* Update zeekctl submodule [nomail] (Tim Wojtulewicz, Corelight)
7.1.0-dev.133 | 2024-08-08 10:44:31 +0200
* Update zeekctl submodule (Tim Wojtulewicz)

View file

@ -1 +1 @@
7.1.0-dev.133
7.1.0-dev.139

View file

@ -196,12 +196,7 @@ rule_attr:
if ( is_event($2) )
current_rule->AddAction(new zeek::detail::RuleActionEvent(nullptr, $2));
else
{
const char *msg = id_to_str($2);
if ( ! zeek::util::streq(msg, "<error>") )
zeek::reporter->Error("Identifier %s is not an event (%s:%d)", id_to_str($2),
current_rule_file, rules_line_number+1);
}
rules_error("identifier is not an event", $2);
}
| TOK_EVENT TOK_IDENT TOK_STRING

View file

@ -5,4 +5,6 @@ warning in <...>/custom-event-errors.zeek, line 9: Wrong number of arguments for
error: wrong event parameters for 'wrong_signature3'
warning in <...>/custom-event-errors.zeek, line 11: Type mismatch in function argument #1. Expected string, got count. (event(state:signature_state, msg:count, data:string))
error: wrong event parameters for 'wrong_signature4'
error: Error in signature (./id.sig:19): unknown script-level identifier (non_existing_event)
error: Error in signature (./id.sig:19): identifier is not an event (non_existing_event)
error: Error in signature (./id.sig:24): identifier is not an event (cat)
error: Error in signature (./id.sig:29): identifier is not an event (ignore_checksums)

View file

@ -23,6 +23,16 @@ signature udp-proto4 {
ip-proto == 17
event non_existing_event
}
signature udp-proto5 {
ip-proto == 17
event cat # builtin function
}
signature udp-proto6 {
ip-proto == 17
event ignore_checksums # variable
}
@TEST-END-FILE
event wrong_signature2(state: signature_state, data: string) { }