mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-11-15 12:24:19 +00:00
Unit::parse took one level of recursion per + - * / sign, so a text such as "1+1+...+1" with 200,000 terms overflowed the stack and aborted the process. Every number field, parse_number and every command parameter read as a length went through it. Text with more than 128 + - * / signs now reads as nothing; text with 128 or fewer reads as before. docs/mcp.md states the limit for length strings. The test a_very_long_expression_reads_as_nothing aborted with a stack overflow before the change.