leftibot 5cf5049549 Fix #633: Bound ChaiScript call stack to prevent native stack overflow
Recursive user-defined operators (e.g. a `string::/=` whose body calls
itself through string interpolation) drove the AST evaluator into
unbounded native recursion and crashed the host process with SIGSEGV.
The dispatcher now refuses to enter a new function frame once
`Stack_Holder::call_depth` reaches `chaiscript::max_call_depth`
(default 256, overridable via the `CHAISCRIPT_MAX_CALL_DEPTH` macro)
and throws the new `chaiscript::exception::stack_overflow_error`
instead, letting both ChaiScript-level `try`/`catch` and C++ hosts
recover from runaway recursion.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-30 16:03:20 -06:00
..
dispatchkit Fix #633: Bound ChaiScript call stack to prevent native stack overflow 2026-04-30 16:03:20 -06:00
language 🎨 Committing clang-format changes 2026-04-29 02:22:59 +00:00
utility 🎨 Committing clang-format changes 2026-04-29 02:22:59 +00:00
chaiscript_basic.hpp change .clang-format and reformat code with clang-format 11 2021-05-24 10:44:15 +02:00
chaiscript_defines.hpp Fix #633: Bound ChaiScript call stack to prevent native stack overflow 2026-04-30 16:03:20 -06:00
chaiscript_stdlib.hpp Enable warnings as errors (#694) 2026-04-28 20:11:15 -06:00
chaiscript_threading.hpp change .clang-format and reformat code with clang-format 11 2021-05-24 10:44:15 +02:00
chaiscript.hpp Fix #571: How to redirect "cout" and "print" to a microsoft Windows 10 window? (#657) 2026-04-11 18:58:09 -06:00