This PR changes the maximum repetition size so as to be compatible with Go's regex requirements.
Motivation and Context
The character class repetition limits were added to some fingerprints in PR #368 with the goal of reducing the impact that matches of unbounded sizes could have on performance. The value of 1024 was somewhat arbitrarily selected as a value that was large enough to allow for all expected values while still having some reasonable limit. 1000 will serve just as well and is supported by Go.
Implementation restriction: The counting forms x{n,m}, x{n,}, and x{n} reject forms that create a minimum or maximum repetition count above 1000. Unlimited repetitions are not subject to this restriction.
We have plans to implement better cross-language testing in the near future so this issue will be caught before the change is landed.
Description
This PR changes the maximum repetition size so as to be compatible with Go's regex requirements.
Motivation and Context
The character class repetition limits were added to some fingerprints in PR #368 with the goal of reducing the impact that matches of unbounded sizes could have on performance. The value of
1024
was somewhat arbitrarily selected as a value that was large enough to allow for all expected values while still having some reasonable limit.1000
will serve just as well and is supported by Go.Reference: https://pkg.go.dev/regexp/syntax
We have plans to implement better cross-language testing in the near future so this issue will be caught before the change is landed.
How Has This Been Tested?
recog-go
implementation ofrecog_verify
as found in the currentmain
branch here: https://github.com/RumbleDiscovery/recog-gorspec
recog_verify
in this repositoryTypes of changes
Checklist: