zeek/src/script_opt
Arne Welzel 9d1d4e28b3 ScriptOpt: Ensure global statements have non-null scope
The ProfileFunc() logic assumed that GetScope() returned a non-nullptr.
This holds except for the synthetic global statements function.

Fix the latter and add an assert, also add a name to the type so it's
easier to recognize in a debugger what's going on, otherwise the name
is "".

This was found by UBSAN due to it seeing the ->OrderedVars() call on a
nullptr. Elsewhere, num_params == 0 shielded from that access and so
didn't lead to crashes.
2024-08-16 13:59:24 +02:00
..
CPP fix for -O C++ construction of variable names that use multiple module namespaces 2024-08-16 11:19:02 +02:00
ZAM address some script optimization compiler warnings under Linux 2024-08-16 11:19:02 +02:00
CSE.cc script optimization for record operations sourced (in part) from other records 2024-06-24 09:38:37 +02:00
CSE.h fixes to limit AST traversal in the face of recursive types 2024-08-16 11:19:02 +02:00
Expr.cc fix for script optimization of "opaque" values that are run-time constants 2024-08-16 11:19:02 +02:00
Expr.h minor script optimization updates to reflect recent changes, Coverity findings 2024-07-06 16:44:27 -07:00
FuncInfo.cc minor script optimization updates to reflect recent changes, Coverity findings 2024-07-06 16:44:27 -07:00
FuncInfo.h introduce notions of script functions/BiFs that are (1) foldable, (2) replaceable 2024-04-25 09:15:12 -07:00
GenIDDefs.cc factor script optimization Expr AST nodes out of main AST header 2024-04-25 09:15:13 -07:00
GenIDDefs.h better name for key variable in script optimization 2024-01-15 15:03:56 +01:00
IDOptInfo.cc ZAM fix for tracking variable usage 2024-01-15 15:03:56 +01:00
IDOptInfo.h Add some uses of std::move in constructors and simple functions for pass-by-value arguments 2023-11-28 13:40:28 -07:00
Inline.cc factor script optimization Expr AST nodes out of main AST header 2024-04-25 09:15:13 -07:00
Inline.h coalescing of event handlers (ZAM optimization) 2023-11-16 12:58:28 -08:00
ObjMgr.h regularized (some) types of pointers used in script optimization 2023-12-12 09:45:19 +01:00
ProfileFunc.cc ScriptOpt: Ensure global statements have non-null scope 2024-08-16 13:59:24 +02:00
ProfileFunc.h simpler and more robust identification of function parameters for AST profiling 2024-08-16 11:19:02 +02:00
Reduce.cc script optimization for record operations sourced (in part) from other records 2024-06-24 09:38:37 +02:00
Reduce.h Fix for ZAM inlining of nested function calls with the same parameter names 2024-05-15 17:32:13 -07:00
ScriptOpt.cc ScriptOpt: Ensure global statements have non-null scope 2024-08-16 13:59:24 +02:00
ScriptOpt.h "-O validate-ZAM" option to validate generated ZAM instructions 2024-08-16 11:18:58 +02:00
Stmt.cc minor optimization of boolean comparisons 2024-07-23 16:05:24 -07:00
StmtOptInfo.h Reformat Zeek in Spicy style 2023-10-30 09:40:55 +01:00
TempVar.cc greater ZAM optimization of inlined function calls 2023-11-10 09:57:35 +01:00
TempVar.h greater ZAM optimization of inlined function calls 2023-11-10 09:57:35 +01:00
UsageAnalyzer.cc Reformat Zeek in Spicy style 2023-10-30 09:40:55 +01:00
UsageAnalyzer.h reworked AST optimizers analysis of side effects during aggregate operations & calls 2023-12-06 12:26:27 -08:00
UseDefs.cc script optimization for record operations sourced (in part) from other records 2024-06-24 09:38:37 +02:00
UseDefs.h retention of superseded AST elements to prevent pointer mis-aliasing 2023-11-10 11:06:16 +01:00