You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
bug(markup): exponential backtracking in reference-name validation #447
packages/markup/src/syntax.ts validates dotted reference names with ^[A-Za-z_][A-Za-z0-9_.:-]*(?:\.[A-Za-z_][A-Za-z0-9_.:-]*)*$. . appears both inside the segment character class and as the separator, so on a malformed dotted name the regex engine tries exponentially many partitions — ~330 ms at 25 trailing dots, doubling per dot; ~40 dots is effectively a parse-thread hang. Reachable from any authored .svml file.
The same ambiguity means the pattern also acceptsa., a..b and x.y., which the strict grammar rejects.
Proposed fix: strict ident(.ident)* — . becomes separator-only so matching is linear.
Activity
docs(upstream): triage PR hypit-ai#439-hypit-ai#455 and issue hypit-a…