From ab7cccf9b66a66a57cae6c420ed9b98acff7ce27 Mon Sep 17 00:00:00 2001 From: Vern Paxson Date: Sun, 4 Dec 2022 17:58:33 -0800 Subject: [PATCH] maintenance updates for -O ZAM --- src/script_opt/ZAM/Ops.in | 20 ++++++++++++------- .../core.max-analyzer-violations/output | 15 ++++++++++++++ .../core.max-analyzer-violations/weird.log | 13 ++++++++++++ .../language.count-underflow/.stderr | 5 +++++ .../Baseline.zam/language.count-underflow/out | 8 ++++++++ .../language.vector-coerce-expr2/output | 4 ++++ .../btest/Baseline.zam/plugins.file/output | 5 +++-- .../btest/Baseline.zam/plugins.file/weird.log | 11 ++++++++++ 8 files changed, 72 insertions(+), 9 deletions(-) create mode 100644 testing/btest/Baseline.zam/core.max-analyzer-violations/output create mode 100644 testing/btest/Baseline.zam/core.max-analyzer-violations/weird.log create mode 100644 testing/btest/Baseline.zam/language.count-underflow/.stderr create mode 100644 testing/btest/Baseline.zam/language.count-underflow/out create mode 100644 testing/btest/Baseline.zam/plugins.file/weird.log diff --git a/src/script_opt/ZAM/Ops.in b/src/script_opt/ZAM/Ops.in index da4148402f..f7cce292a0 100644 --- a/src/script_opt/ZAM/Ops.in +++ b/src/script_opt/ZAM/Ops.in @@ -344,7 +344,10 @@ eval --frame[z.v1].int_val; op DecrU op1-read-write type V -eval --frame[z.v1].uint_val; +eval auto& u = frame[z.v1].uint_val; + if ( u == 0 ) + ZAM_run_time_warning(z.loc, "count underflow"); + --u; unary-op AppendTo # Note, even though it feels like appending both reads and modifies @@ -1559,6 +1562,9 @@ type CiH op1-read eval EvalScheduleArgs(z.c, z.v1,) +macro QueueEvent(eh, args) + if ( *eh ) + event_mgr.Enqueue(eh, std::move(args)); op Event type HL @@ -1566,19 +1572,19 @@ op1-read custom-method return CompileEvent(h, l); eval ValVec args; z.aux->FillValVec(args, frame); - event_mgr.Enqueue(z.event_handler, std::move(args)); + QueueEvent(z.event_handler, args); internal-op Event0 type X eval ValVec args(0); - event_mgr.Enqueue(z.event_handler, std::move(args)); + QueueEvent(z.event_handler, args); internal-op Event1 type V op1-read eval ValVec args(1); args[0] = frame[z.v1].ToVal(z.t); - event_mgr.Enqueue(z.event_handler, std::move(args)); + QueueEvent(z.event_handler, args); internal-op Event2 type VV @@ -1586,7 +1592,7 @@ op1-read eval ValVec args(2); args[0] = frame[z.v1].ToVal(z.t); args[1] = frame[z.v2].ToVal(z.t2); - event_mgr.Enqueue(z.event_handler, std::move(args)); + QueueEvent(z.event_handler, args); internal-op Event3 type VVV @@ -1596,7 +1602,7 @@ eval ValVec args(3); args[1] = frame[z.v2].ToVal(z.t2); auto types = z.aux->types; args[2] = frame[z.v3].ToVal(types[2]); - event_mgr.Enqueue(z.event_handler, std::move(args)); + QueueEvent(z.event_handler, args); internal-op Event4 type VVVV @@ -1607,7 +1613,7 @@ eval ValVec args(4); auto types = z.aux->types; args[2] = frame[z.v3].ToVal(types[2]); args[3] = frame[z.v4].ToVal(types[3]); - event_mgr.Enqueue(z.event_handler, std::move(args)); + QueueEvent(z.event_handler, args); op Return diff --git a/testing/btest/Baseline.zam/core.max-analyzer-violations/output b/testing/btest/Baseline.zam/core.max-analyzer-violations/output new file mode 100644 index 0000000000..7c596a3686 --- /dev/null +++ b/testing/btest/Baseline.zam/core.max-analyzer-violations/output @@ -0,0 +1,15 @@ +### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. +reply, CHhAvVGS1DHFjwGM9, OK, example.com POP3-Server +request, CHhAvVGS1DHFjwGM9, USER, zeek@zeek.org +reply, CHhAvVGS1DHFjwGM9, OK, Please enter your password +request, CHhAvVGS1DHFjwGM9, PASS, zeek +reply, CHhAvVGS1DHFjwGM9, OK, mailbox locked and ready +request, CHhAvVGS1DHFjwGM9, STAT, +1, violation, AllAnalyzers::ANALYZER_ANALYZER_POP3, CHhAvVGS1DHFjwGM9, 4, unknown server command (+) +2, violation, AllAnalyzers::ANALYZER_ANALYZER_POP3, CHhAvVGS1DHFjwGM9, 4, unknown server command (???) +3, violation, AllAnalyzers::ANALYZER_ANALYZER_POP3, CHhAvVGS1DHFjwGM9, 4, unknown server command (..) +4, violation, AllAnalyzers::ANALYZER_ANALYZER_POP3, CHhAvVGS1DHFjwGM9, 4, unknown server command (???) +5, violation, AllAnalyzers::ANALYZER_ANALYZER_POP3, CHhAvVGS1DHFjwGM9, 4, unknown server command (..x) +reply, CHhAvVGS1DHFjwGM9, OK, 1 236 +request, CHhAvVGS1DHFjwGM9, QUIT, +reply, CHhAvVGS1DHFjwGM9, OK, Bye diff --git a/testing/btest/Baseline.zam/core.max-analyzer-violations/weird.log b/testing/btest/Baseline.zam/core.max-analyzer-violations/weird.log new file mode 100644 index 0000000000..99b5e14621 --- /dev/null +++ b/testing/btest/Baseline.zam/core.max-analyzer-violations/weird.log @@ -0,0 +1,13 @@ +### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. +#separator \x09 +#set_separator , +#empty_field (empty) +#unset_field - +#path weird +#open XXXX-XX-XX-XX-XX-XX +#fields ts uid id.orig_h id.orig_p id.resp_h id.resp_p name addl notice peer source +#types time string addr port addr port string string bool string string +XXXXXXXXXX.XXXXXX CHhAvVGS1DHFjwGM9 127.0.0.1 58246 127.0.0.1 110 pop3_server_command_unknown - F zeek POP3 +XXXXXXXXXX.XXXXXX CHhAvVGS1DHFjwGM9 127.0.0.1 58246 127.0.0.1 110 line_terminated_with_single_CR - F zeek CONTENTLINE +XXXXXXXXXX.XXXXXX CHhAvVGS1DHFjwGM9 127.0.0.1 58246 127.0.0.1 110 too_many_analyzer_violations - F zeek POP3 +#close XXXX-XX-XX-XX-XX-XX diff --git a/testing/btest/Baseline.zam/language.count-underflow/.stderr b/testing/btest/Baseline.zam/language.count-underflow/.stderr new file mode 100644 index 0000000000..9b7a5fda60 --- /dev/null +++ b/testing/btest/Baseline.zam/language.count-underflow/.stderr @@ -0,0 +1,5 @@ +### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. +expression warning in <...>/count-underflow.zeek, line 22: count underflow (1 - 2) +expression warning in <...>/count-underflow.zeek, line 14: count underflow (0 - 1) +expression warning in <...>/count-underflow.zeek, line 18: count underflow (0 - 1) +warning: <...>/count-underflow.zeek, line 10: count underflow diff --git a/testing/btest/Baseline.zam/language.count-underflow/out b/testing/btest/Baseline.zam/language.count-underflow/out new file mode 100644 index 0000000000..731cabd888 --- /dev/null +++ b/testing/btest/Baseline.zam/language.count-underflow/out @@ -0,0 +1,8 @@ +### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. +local c1 = 0; --c1; c1 == 18446744073709551615; T +local c2 = 0; c2 -= 1; c2 == 18446744073709551615; T +local c3 = 0; c3 = c3 - 1; c3 == 18446744073709551615; T +1 - 2, 18446744073709551615 +local c4 = count_max; ++c4; c4 == 0; T +local c5 = count_max; c5 += 1; c5 == 0; T +local c6 = count_max; c6 = c6 + 1; c6 == 0; T diff --git a/testing/btest/Baseline.zam/language.vector-coerce-expr2/output b/testing/btest/Baseline.zam/language.vector-coerce-expr2/output index b92f1ee707..c7ec43c85d 100644 --- a/testing/btest/Baseline.zam/language.vector-coerce-expr2/output +++ b/testing/btest/Baseline.zam/language.vector-coerce-expr2/output @@ -2,3 +2,7 @@ [5.5, 5.2, -3.9, 20.0] [11, 5, , 107, , , 1046] [-2, -4, , -7, , -18, -999] +[connT +ZAM-code connT , connF +ZAM-code connF , connMaybe +ZAM-code connMaybe ] diff --git a/testing/btest/Baseline.zam/plugins.file/output b/testing/btest/Baseline.zam/plugins.file/output index 3c3e7eb48d..0e77e867b9 100644 --- a/testing/btest/Baseline.zam/plugins.file/output +++ b/testing/btest/Baseline.zam/plugins.file/output @@ -8,14 +8,15 @@ analyzer_confirmation_info, AllAnalyzers::FILES_ANALYZER_FOO, FCceqBvpMfirSN0Ri foo_piece, FCceqBvpMfirSN0Ri, The National Center foo_piece, FCceqBvpMfirSN0Ri, net, consult your lo foo_piece, FCceqBvpMfirSN0Ri, most everything else +analyzer_violation_info, AllAnalyzers::FILES_ANALYZER_FOO, FCceqBvpMfirSN0Ri, test violation 3, most everything foo_piece, FCceqBvpMfirSN0Ri, low:\x0a\x0a /Mac foo_piece, FCceqBvpMfirSN0Ri, es and directories o -analyzer_violation_info, AllAnalyzers::FILES_ANALYZER_FOO, FCceqBvpMfirSN0Ri, test violation 5, es and directori foo_piece, FCceqBvpMfirSN0Ri, r example, here is a +analyzer_violation_info, AllAnalyzers::FILES_ANALYZER_FOO, FCceqBvpMfirSN0Ri, test violation 6, r example, here foo_piece, FCceqBvpMfirSN0Ri, application, StuffIt foo_piece, FCceqBvpMfirSN0Ri, tion BinHex by doubl foo_piece, FCceqBvpMfirSN0Ri, laced, or are going +analyzer_violation_info, AllAnalyzers::FILES_ANALYZER_FOO, FCceqBvpMfirSN0Ri, test violation 9, laced, or are go foo_piece, FCceqBvpMfirSN0Ri, sers several documen -analyzer_violation_info, AllAnalyzers::FILES_ANALYZER_FOO, FCceqBvpMfirSN0Ri, test violation 10, sers several doc foo_piece, FCceqBvpMfirSN0Ri, er or can be printed foo_piece, FCceqBvpMfirSN0Ri, \x0a\x0aBug reports shoul diff --git a/testing/btest/Baseline.zam/plugins.file/weird.log b/testing/btest/Baseline.zam/plugins.file/weird.log new file mode 100644 index 0000000000..99e00cf437 --- /dev/null +++ b/testing/btest/Baseline.zam/plugins.file/weird.log @@ -0,0 +1,11 @@ +### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. +#separator \x09 +#set_separator , +#empty_field (empty) +#unset_field - +#path weird +#open XXXX-XX-XX-XX-XX-XX +#fields ts uid id.orig_h id.orig_p id.resp_h id.resp_p name addl notice peer source +#types time string addr port addr port string string bool string string +XXXXXXXXXX.XXXXXX - - - - - too_many_analyzer_violations FCceqBvpMfirSN0Ri F zeek FOO +#close XXXX-XX-XX-XX-XX-XX