-
Improvement
-
Resolution: Unresolved
-
Normal
-
s5
-
None
When an assert/discriminator is of testKind pattern the pattern test passes if the regex matches a prefix of the data stream at the start of the element
This match attempt is not bounded by the length of the element.
It's entirely possible for a very bad regex pattern to cause massive scanning of the data stream before returning a match or a failure.
Our runtime should emit warnings if this is happening i.e., an attempt to match a regex that consumes more than N characters should emit a warning, then every N more characters, etc.
A tunable limit should be created for this regex lookahead/match so that we can force a failure here. The Daffodil API should provide a way to set this tunable limit.