ymote
|
ba33084d9c
|
script: port orphaned Octoscript VM hardening (execution caps, clear_type_methods, parser diagnostics)
Items no workstream branch owned, ported from the Octoscript vendor tree:
- Operand-stack and call-frame caps: ScriptVm::with_stack_value_limit,
with_call_frame_limit, clear_execution_limit_failures; ScriptThread
call_frame_limit / *_limit_exceeded flags, push_call_frame,
has_execution_limit_exceeded; run_core, CALL_EXEC/RETURN/RETURN_IF_ERR
and handle_return skip pop_to_me and raise an uncatchable
"script operand stack limit exceeded" / "script call frame limit
exceeded" bail. The root evaluation frame counts toward the cap.
- ScriptNative::clear_type_methods for restricted embeddings.
- ScriptParser structured diagnostics: ScriptParserDiagnostic,
MAX_PARSER_DIAGNOSTICS, diagnostics()/diagnostics_truncated(),
set_emit_errors(); the existing parse_errors sink is kept in lockstep.
Tests: tests/execution_limits.rs, vm.rs
return_does_not_pop_to_me_after_an_operand_stack_limit, parser.rs
diagnostics_* tests.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JgSir4cQyaakzPju4h6smw
(cherry picked from commit bfa4087b59abf64d30c385bea53120e0adf2f64b)
(cherry picked from commit 6a349506dd58b4f150dfa12f447385def3f1f469)
|
2026-09-23 22:34:43 +02:00 |
|