mirror of
https://github.com/storytold/designcraft.git
synced 2026-10-29 04:36:47 -06:00
Nested repetitions such as ((a)*)* asked the group below for the same end positions again and again, which is exponential in their depth: remember the positions of a group per start position while one element's children are matched. The search for the closing semicolon of a parameter-entity reference had a 256-byte window, so a longer name was left unexpanded without an error: stop the search at whitespace or the next percent sign instead, which keeps a round linear and puts no limit on the name. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>